700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > javascript中使用RSA加密解密

javascript中使用RSA加密解密

时间:2018-11-11 17:19:53

相关推荐

javascript中使用RSA加密解密

RSA加密解密

问题1:公钥和私钥是哪里来的:问题2:如果是后端加密,前端解密代码

问题1:公钥和私钥是哪里来的:

/enc/rsa/

去官网生成唯一的公钥和私钥,也就是唯一的密钥对

公钥加密、私钥解密

问题2:如果是后端加密,前端解密

跟后端要私钥拿到后端穿过来的密文之后,直接解密,如果解密之后和预期的数据不一样,要和后端沟通是什么原因下面展示了一个:后端加密的时候是先将字符串转成json对象 再加密的;所以前端解密之后要再将json对象转化为字符串

代码

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><!-- 引入jsencrypt.js文件 --><script src="/jsencrypt/3.0.0-beta.1/jsencrypt.js"></script></head><body><script>//公钥var PUBLIC_KEY = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3+2kBT+EJq8PqSrleCgsddWtwuIDaNtSwWunuyaRuSGWhBJxFApWXv8xfdchhbw5ti/2z3w5ipAufXJ/5R9FwBGSGEivbpUUCpVuk7iFY8vE+yfZTobEkfJ0vsO9FllG9AofYDAP5dlKYfTnXpNv7HrPrZfleB5HOtXS1OMt02wIDAQAB';//私钥var PRIVATE_KEY = 'MIICXAIBAAKBgQC3+2kBT+EJq8PqSrleCgsddWtwuIDaNtSwWunuyaRuSGWhBJxFApWXv8xfdchhbw5ti/2z3w5ipAufXJ/5R9FwBGSGEivbpUUCpVuk7iFY8vE+yfZTobEkfJ0vsO9FllG9AofYDAP5dlKYfTnXpNv7HrPrZfleB5HOtXS1OMt02wIDAQABAoGBALb3QIL8hGjQt+JNc7EwvcMLHdEYu5PHiZbkotZFE9BVETSjWCFNI6WpKT8Z7C/xeOC6opB52F2ClMhkHfeTU5SpQx2YoRXjQGxCigTaRvlMo2q8q05sy4cxKpE+7c4yMaZSPldrx5HjLLlJzso7xngtHqnP/wQsbNnARhQ31tIhAkEA58D7SxU0i8UWSR1hPrXC4iPfDXTwtFOVyyHWCCId5fNFH6omlyHzleH4WLSYe/ZBAJRpPUqUeLlSKtkzonIgsQJBAMs693OXOeQpZdWUFlEl0hvcQFclaSID2TPbcL/doMslYd7tegyhBIrQRIzUQooZF5lbcsBLwb1hFPx0N7E6MUsCQH6pIC5W9pL1MkrffchyOoKxrDSElxFXJWURpxJm4wRMQpkdu12aNrDSAZMpkLUfT0Nr2WCgJCkez+OPNgMwcOECQGlMMBHv9MrGuECk7bs1wVs2DxAYDhTVsaAwvoZqqnkW8VKz8FzCwLu7lQjyoVc0EQogW6BOoB8jQeBbxs9Iu2kCQAFzAhRnjj1Rn2uvMqRCva+ez3RPaLHK4BzC5UdgF/qTu58+K29UqKSLenMB8ZZ1VQIJ83VnKSiIyHqeHBjl6LE=';//使用公钥加密var encrypt = new JSEncrypt();encrypt.setPublicKey('-----BEGIN PUBLIC KEY-----' + PUBLIC_KEY + '-----END PUBLIC KEY-----');var encrypted = encrypt.encrypt("张三");console.log('加密后数据:%o', encrypted);//使用私钥解密var decrypt = new JSEncrypt();decrypt.setPrivateKey('-----BEGIN RSA PRIVATE KEY-----'+PRIVATE_KEY+'-----END RSA PRIVATE KEY-----');var uncrypted = decrypt.decrypt(encrypted); console.log('解密后数据:%o', uncrypted); // 张三// 下面这段密文就是后端传过来的jsonvar uncrypted1 = decrypt.decrypt("evHC57KB+RRQdSZmFWoAR7KcViMW+P0GGjhIvOociFS7QWJwE63A+8XqGJuVs+WOVNO/NTuYEd78QJu8gHcVJvt3QumYqt7EPVNekQ2OTRuyi+bTSF8Xy9tj+GXs8wF+3jbJYDdOwgEciXVFxbWEXwH6/pu44FIQEjL376RetZg=");console.log('解密后数据:%o', JSON.parse(uncrypted1) ); // 安杰// 如果没转成字符串的话console.log('解密后数据:%o', uncrypted1); // \\u5b89\\u6770\</script> </body></html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。