小程序RSA加密、解密、加签、验签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序RSA加密、解密、加签、验签相关的知识,希望对你有一定的参考价值。

参考技术A npm install  wxapp_rsa

var RSA = require('/wxapp_rsa.js')

// RSA加签

    var sign_rsa = new RSA.RSAKey();

//privateKey_pkcs1需要是-----BEGIN PRIVATE KEY-----开头的私钥

    sign_rsa = RSA.KEYUTIL.getKey(privateKey_pkcs1);

    console.log('签名RSA:')

    console.log(sign_rsa)

    var hashAlg = 'MD5withRSA';

    var hSig = sign_rsa.signString("12345678901234567890", hashAlg);

    hSig = RSA.hex2b64(hSig); // hex 转 b64

    console.log("签名结果:" + hSig)

    // RSA 验签

    var verify_rsa = new RSA.RSAKey();

    verify_rsa = RSA.KEYUTIL.getKey(publicKey_pkcs1);

    console.log('验签RSA:')

    console.log(verify_rsa)

    hSig = RSA.b64tohex(hSig)

    var ver = verify_rsa.verifyString("12345678901234567890", hSig)

    console.log('验签结果:' + ver)

//  RSA加密 【加密字段长度不大于117】

    var encrypt_rsa = new RSA.RSAKey();

    encrypt_rsa = RSA.KEYUTIL.getKey(rsa_public_key);

    console.log('加密RSA:')

    console.log(encrypt_rsa)

    var encStr = encrypt_rsa.encrypt('1234567890')

    console.log(encStr)

    encStr = RSA.hex2b64(encStr);

    console.log("加密结果:" + encStr)

    // RSA 解密

    var decrypt_rsa = new RSA.RSAKey();

    decrypt_rsa = RSA.KEYUTIL.getKey(rsa_public_key_private);

    console.log('解密RSA:')

    console.log(decrypt_rsa)

    encStr = RSA.b64tohex(encStr)

    var decStr = decrypt_rsa.decrypt(encStr)

    console.log("解密结果:" + decStr)

以上是关于小程序RSA加密、解密、加签、验签的主要内容,如果未能解决你的问题,请参考以下文章

RSA加密解密及RSA加签验签

RSA公钥加密,私钥解密,私钥加签,公钥验签

PHP实现RSA与RSA256加密,解密,加签,验签

PHP实现RSA与RSA256加密,解密,加签,验签

PHP实现RSA与RSA256加密,解密,加签,验签

iOS小技能:RSA签名验签加密解密的原理