主页 > 苹果手机如何下载imtoken > 了解ASE对称加密和RSA非对称加密

了解ASE对称加密和RSA非对称加密

苹果手机如何下载imtoken 2023-07-11 05:07:06

原则:

对称加密算法:加密和解密只需要一把钥匙。

非对称加密算法:有私钥和公钥。 使用公钥加密后,必须使用私钥解密。

使用场景(前端-登录/注册):

前端加密现在需要配合AES和RSA使用。 过程如下:

浏览器向后端发送请求获取公钥,前端生成密钥和偏移量(iv比特币钱包使用了非对称加密技术,CBC方式使用)比特币钱包使用了非对称加密技术,用密钥加密密码(ASE加密),然后使用公钥key对密钥进行加密(RSA加密),后端使用私钥对加密后的密钥进行解密,再使用密钥和偏移量对密码进行解密。

黑客加密要比特币支付_比特币冷钱包转在线钱包_比特币钱包使用了非对称加密技术

代码

两个库 jsencrypt 和 crypto-js 用于前端加密。

import JSEncrypt from 'jsencrypt';
const CryptoJS = require('crypto-js');

比特币冷钱包转在线钱包_黑客加密要比特币支付_比特币钱包使用了非对称加密技术

const jsRas = new JSEncrypt(); const publicKey = 'test' //一般从后端发请求拿到的

比特币钱包使用了非对称加密技术_比特币冷钱包转在线钱包_黑客加密要比特币支付

const secretKey = 'test--test---123';//前端随机生成,实操时不要写死,一般为16位,跟后端沟通。 const iv = 'testtesttesttest';//前端随机生成,实操时不要写死,一般为16位,跟后端沟通。 const key =CryptoJS.enc.Utf8.parse(secretKey); //对需要加密的数据进行加密

比特币钱包使用了非对称加密技术_黑客加密要比特币支付_比特币冷钱包转在线钱包

const encrypt = CryptoJS.AES.encrypt('加密的数据',key,{ iv:CryptoJS.enc.Utf8.parse(iv), mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7,

比特币冷钱包转在线钱包_黑客加密要比特币支付_比特币钱包使用了非对称加密技术

}).toString(); // ECB模式下不需要iv偏移量 jsRas.setPublicKey(publicKey); const key_ = jsRas.encrypt(secretKey);//使用rsa加密用公钥publicKey加密secretKey,传递给后端 //发请求传递参数