首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >javascript RSA 加密,解密,签名,验签

javascript RSA 加密,解密,签名,验签

作者头像
jgrass
发布2024-12-25 16:34:24
发布2024-12-25 16:34:24
5720
举报
文章被收录于专栏:蔻丁杂记蔻丁杂记

使用的库:

travist/jsencrypt: A Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.

brix/crypto-js: JavaScript library of crypto standards.

测试地址:

Online RSA Key Generator

如果是在 HTML 中使用,引用的库:

// 具体地址,需要另行处理

代码语言:javascript
复制
<script src="./jsencrypt.min.js"></script><script src="./crypto-js.js"></script>

加密与解密

代码语言:javascript
复制
// Encrypt with the public key...var encrypt = new JSEncrypt();encrypt.setPublicKey($('#pubkey').val());var encrypted = encrypt.encrypt($('#input').val());
// Decrypt with the private key...var decrypt = new JSEncrypt();decrypt.setPrivateKey($('#privkey').val());var uncrypted = decrypt.decrypt(encrypted);

签名与验签

这里的 hash 算法是 SHA256

代码语言:javascript
复制
// Sign with the private key...var sign = new JSEncrypt();sign.setPrivateKey($('#privkey').val());var signature = sign.sign($('#input').val(), CryptoJS.SHA256, "sha256");
// Verify with the public key...var verify = new JSEncrypt();verify.setPublicKey($('#pubkey').val());var verified = verify.verify($('#input').val(), signature, CryptoJS.SHA256);

原文链接: https://cloud.tencent.com/developer/article/2481495

本作品采用 「署名 4.0 国际」 许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年5月11日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加密与解密
  • 签名与验签
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档