我有下面的java方法,我需要转换成nodejs,问题是nodejs的输出看起来很奇怪。
下面是我的java代码
private static final String SIGN_ALGORITHMS = "MD5WithRSA";
public static String sign(String content, String privateKey, String input_charset) {
try {
PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(Base64.decode(privateKey));
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.encode(signed);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}其中:
content只是要加密的常规字符串,例如:lorem ipsum,
privateKey是私钥的字符串表示形式,并且
input_charset为UTF-8
如何在nodejs中获取Base64.encode(signed)的值?
发布于 2019-08-19 17:10:35
只需在内置的加密函数中使用NodeJS:
https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto
https://stackoverflow.com/questions/57553525
复制相似问题