简介:
对指标先进行音讯摘要算法,失去的后果再进行 RSA 加密。
特点:
这种状况下的 RSA 往往是 NoPadding 模式。保障每次的加密后果统一。
代码实现
public static String getSignature(String data) throws Exception {PrivateKey privateKey = RSABase64.genPrivatekey();
Signature signature = Signature.getInstance("SHA256withRSA");
signature.initSign(privateKey);
signature.update(data.getBytes(StandardCharsets.UTF_8));
byte[] res= signature.sign();
ByteString of = ByteString.of(res);
return of.base64();};
public static boolean verifySignature (String data, String sign) throws Exception {PublicKey publicKey = RSABase64.genPublickey();
Signature signature = Signature.getInstance("SHA256withRSA");
signature.initVerify(publicKey);
signature.update(data.getBytes(StandardCharsets.UTF_8));
return signature.verify(ByteString.decodeBase64(sign).toByteArray());
};