资讯详情

【前端RSA加密】

RSA加密算法

维基百科: RSA非对称加密算法 大整数因数分解的难度决定了 RSA 算法的可靠性。换句话说,分解一个大整数的因数越难,RSA 算法越可靠。如果有人找到了快速因数分解的算法,那就用吧 RSA 加密信息的可靠性将大大降低。但是找到这种算法的可能性很小。今天只有短 RSA 强大的方式可以破解钥匙。到2020年,世界上还没有可靠的攻击RSA算法的方式。只要钥匙的长度足够长,使用RSA事实上,加密信息是无法破解的。

在这里插入图片描述

npm三方库

https://github.com/travist/jsencrypt

浏览互联网搜索时 RSA Javascript 在良好的加密解决方案中,基本采用了大量的库 Tom Wu @ http://www-cs-students.stanford.edu/~tjw/jsbn 优秀工作/做好工作/ 然后修改代码以执行他们想要的操作。

demo

2048位生成的公钥

import JSEncrypt from 'jsencrypt';   const encryptor = new JSEncrypt();     const pubKey = '-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArBYpsjeeE7RG8XBsCbxf Ra38w/ktBkqQvwDdkYCNt4M6w24AiEgIKRHeKti4abEf xRESWmKADkaeiX2lX4D 1R2TiTtFAEpOsubfcndJD1hEYYM9MBjya9nS 6OtZV40R3emevXUbjyQsmCWN2Pc M3dPvawRDgRj BEtTHSY7VORhDTcvWfKWgvkc98IGxPVbCB2XEwwBBfRSUapl/pp lhkefnfPZutv SOXbGFYdImAeJozQYfVeMBdHlTvJP7nFvowCuM5YkCLq7X8L6cX 1FiaoEzM7oXia3tkrtUnCH4ar1tHjQbZnXn4m63gtEKnEgFsKo1IWDdAK4dXCMO/ 8wIDAQAB -----END PUBLIC KEY-----';     encryptor.setPublicKey(pubKey);     const enPassword = encryptor.encrypt(password) 

到目前为止,前端密码已经加密了几句话,因为如果是登录场景,前端只需要加密;解密验证由后端完成

扩展前端解密

因为有些场景需要解密,解密demo以下:(2048位)

const decrypt = new JSEncrypt()////创建解密对象实例   //之前ssl生成的秘钥 const priKey  = '-----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCsFimyN54TtEbx cGwJvF9FrfzD S0GSpC/AN2RgI23gzrDbgCISAgpEd4q2LhpsR/7FERJaYoAORp6 JfaVfgPVHZOJO0UASk6y5t9yd0kPWERhgz0wGPJr2dL7o61lXjRHd6Z69dRuPJCy YJY3Y9wzd0 9rBEOBGP4ES1MdJjtU5GENNy9Z8paC Rz3wbE9VsIHZcTDAEF9FJ
RqmX+mmWGR5+d89m62/5I5dsYVh0iYB4mjNBh9V4wF0eVO8k/ucW+jAK4zliQIur
tfwvpxfUWJqgTMzuheJre2Su1ScIfhqvW0eNBtmdefibreC0QqcSAWwqjUhYN0Ar
h1cIw7/zAgMBAAECggEAIJzCoiewKYPMvgzULLQqSgZDFNCwG7Ud4VTEqMJ4GQMh
q8+5AhrEkSP1uqD/segDa43XsyHxKUGpJuTy6jnLeCP2xdcZqIhsibL/Pa4lhmbv
7pr0iZzwtEe/mDjYr5E+zxx5zGuyKoIH2gY78ZtXK9m8nvFw+fsTBvwaXZbrNG6G
Y07mvBM10Pv0Qg1w2H7SDuetAnIIaCJuafzPWgy0iEheW9cZQIMwCiVWXg8DzkCz
s3sJQaKIsTmWpj6a0O8rsu2uE+Ka5lJa7XmUV3jpeIkSCT/TZ28bCzLxduGC9YCc
3GMcitsAHTccQcpXyXU0r/tpkrnJpXzA0sAVFwk7wQKBgQDSKi6XEcArwwVncXA8
a948HFOKu+tSAbUTekS4gir3pi5dPhoaKIKTvyYSVNzw2/5907DYweRBfjxWBqy4
d39+jZtaqbMnCaKK8spCJGY7T0b1iyOU8n8hhKX04EXmvxGP9few0Q0LBKql9Css
2STTYkSI+YccnVo2qqJi5kLlawKBgQDRngRqi7UaF7CNYA7uhRXi5uQsI6ehh89a
3N/yGRtomah+tjx1hQ7mAqO5Sy7zUYuMFKd2bzx4ci7Hh1kKvhx1RdFACN9MSasW
FG1hJMlK+EdD6VfJxGepMRQAN7OSlwQdS6bY0ReCaSvMflDKCdgILmAaDr0ybFLj
wLCvZD+pmQKBgEkWIEOrCaBuXse9fGGWxZ8z3p2lgk1viJAweguMQPMEmKUWfq9Q
HTDSTaQcXQVqDBOn9Z07uGxKQSNNiO1RqUXSaw9ZapMN17fofQwJan//rtafP42B
01JNtgT1pXl8QthEmpGj8Zw+UDYMNqOPFC5qwxi7ZhA+bGwMZRJtrx/nAoGAP9Gd
RJcOZ0hJH3HcefAY7sEfPPUKB1ri3aYbpIjSWHFX5GQ1Wg5Nr+ej0zk5rSjplJeB
OMS7I2yYI3VovaWN4oKEJ7vLyF0xcoJ7nrTleCbJA7saWDqs2M0xarOKv5mszgKH
ZMGcJ78/b34RuMFwfWUpKyXLontqbR7wbCXYYBkCgYAK73A22eTephw8TCFnkjSG
i1pO7jgwv+WxJuAYX01bnNUo9CjD51XslpfS+WNC8AHWqFLJGesBhYjI2yo9D6QK
vKGjlJuJNMpVkU1rC9cAlBBvPY+fO/IfQWiXpQvsSiW8NoKbpTQP15JZjYSY9LvC
SD+EmtReFQlIr3vE87gYnw==
-----END PRIVATE KEY-----'
  decrypt.setPrivateKey(priKey)//设置秘钥
  const uncrypted = decrypt.decrypt(encrypted)//解密之前拿公钥加密的内容

标签: uqd侧装智能大浮球液位变送器接近传感器lja12m接近传感器lja71m

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台