我一直在探索各种JavaScript库的RSA加密和解密,并遇到了一个,JSEncrypt在https://cdnjs.cloudflare.com/ajax/libs/jsencrypt/2.3.1/jsencrypt.min.js。
然而,在试图理解这个库用于RSA加密和解密的逻辑和操作方面,我遇到了很大的困难。主要是,
我找不到这个库的任何像样的文档,也无法理解源代码的任何一点。任何帮助都是非常感谢的。
发布于 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,你可以自己判断。
https://stackoverflow.com/questions/64099308
复制相似问题