1 私钥签名
public static String signByKey(String content,String privateKey) {
PKCS8EncodedKeySpec sp = new
PKCS8EncodedKeySpec(new BASE64Decoder().decodeBuffer(privateKey));
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey key = keyFactory.generatePrivate(sp);
return sign(content,key);
}
private static String sign(String content,PrivateKey privateKey) {
Signature dsa = Signature.getInstance("SHA1withRSA");
dsa.initSign(privateKey);
dsa.update(content.getBytes("UTF-8"));
byte[] signature = dsa.sign();
return new String(Base64.encodeBase64(signature));
}
2 公钥验签
public static boolean verifySignByKey(String content,String oldsign,String publicKey) {
X509EncodedKeySpec sp = new X509EncodedKeySpec(new
BASE64Decoder().decodeBuffer(publicKey));
KeyFactory keyFactory = KeyFactory.getInstance("RSA")