码迷,mamicode.com
首页 > 编程语言 > 详细

RSA 数字签名算法(Java版)

时间:2018-04-09 13:18:03      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:代码   rate   rsa   utf-8   put   div   私钥   rac   key   

数字签名算法Java版 还是上代码吧

        public static final String  SIGN_ALGORITHMS = "SHA1WithRSA";

	 /**
	   * RSA签名
	   * @param content 待签名数据
	   * @param privateKey 私钥
	   * @param input_charset 编码格式
	   * @return 签名值
	   */
	   public static String sign(String content, String privateKey, String input_charset)
	   {
	        try 
	        {
	           byte[] decode =Base64.getDecoder().decode(privateKey);	
	           PKCS8EncodedKeySpec priPKCS8   = new PKCS8EncodedKeySpec(decode);
	           KeyFactory keyf= KeyFactory.getInstance("RSA");
	           PrivateKey priKey= keyf.generatePrivate(priPKCS8);
	           java.security.Signature signature = java.security.Signature.getInstance(SIGN_ALGORITHMS);
	           signature.initSign(priKey);
	           signature.update(content.getBytes(input_charset) );
	           byte[] signed = signature.sign();    
	           return Base64.getEncoder().encodeToString(signed);
	        }
	        catch (Exception e) 
	        {
	           e.printStackTrace();
	        }
	        
	        return null;
	    }        

  

调用方式:

  String sign = sign(”content”,”privateKey”,"utf-8");

Over,Tks.

 

RSA 数字签名算法(Java版)

标签:代码   rate   rsa   utf-8   put   div   私钥   rac   key   

原文地址:https://www.cnblogs.com/localhost2016/p/8758715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!