[nodejs]TypeScript使用crypto进行公钥rsa加密

2018-02-23发布0条评论

一般在前端与后端的交互中,有可能会使用到公钥加密的方法

最近做了一个基于RSA/ECB/PKCS1Padding的加密过程,

在此将部分代码进行解释,留着以后没准会用到


使用RSA公钥加密的一般由服务器端使用私钥解密.


首先我们需要一个公钥证书,无论是pem还是字符串的形式,加载到程序中

在代码中引入crypto模块

const crypto = require('crypto');


然后在类中编写一个加密函数

private RSAEncrypt(rsakey:string,hash:string){
    let encrypted = crypto.publicEncrypt({key:rsakey,
        padding:crypto.constants.RSA_PKCS1_PADDING},new Buffer(hash)).toString('base64');
    return encrypted;
}


注意:

crypto.publicEncrypt()

函数的文档在 https://nodejs.org/docs/latest-v8.x/api/crypto.html#crypto_crypto_publicencrypt_key_buffer

可以通过连接查看

我是用的版本为nodejs8.x


使用公钥解密及完整的代码访问下一篇文章 链接:

[nodejs]TypeScript使用crypto进行rsa公钥解密操作