首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >理解JSEncrypt

理解JSEncrypt
EN

Stack Overflow用户
提问于 2020-09-28 09:18:48
回答 1查看 3.2K关注 0票数 0

我一直在探索各种JavaScript库的RSA加密和解密,并遇到了一个,JSEncrypt在https://cdnjs.cloudflare.com/ajax/libs/jsencrypt/2.3.1/jsencrypt.min.js

然而,在试图理解这个库用于RSA加密和解密的逻辑和操作方面,我遇到了很大的困难。主要是,

  1. 加密算法所使用的算法是什么?
  2. 使用了什么填充方案?
  3. 有盐吗?如果是的话,盐是如何产生的?
  4. 任何其他需要注意的信息。

我找不到这个库的任何像样的文档,也无法理解源代码的任何一点。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-28 11:50:43

不要尝试阅读精简的代码,请参阅从国家预防机制链接的主页 (同时也是我最喜欢的google之一),这两个链接都链接到github代码,它的格式和注释都很好。当前代码实际上支持RSA签名和加密,以及密钥生成和OpenSSL兼容的PEM文件的读取和写入,尽管基于注释,我认为签名可能不在您的版本2.3.1中,它似乎不在这个存储库中,或者至少没有标记。https://github.com/travist/jsencrypt/blob/master/lib/jsbn/rsa.ts的RSA核心清楚地显示它使用' PKCS1‘类型1’填充进行签名,'type 2‘用于加密;这是当前PKCS1 v2中的RSASSA-PKCS1-v1_5 (RSASSA = RSA签名方案(带附录))和RSAES-PKCS1-v1_5 (RSAES = RSA加密方案)的加密方案。旧-PKCS1 1型1是确定性的;2型是随机使用https://github.com/travist/jsencrypt/blob/master/lib/jsbn/rng.ts,你可以自己判断。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64099308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档