前后端RSA加密
项目进入代码refine阶段,对登录发送密码进行RSA算法加密
## 生成公钥私钥
### 私钥openssl genrsa -out rsa_1024_priv.pem 1024
### 根据私钥生成公钥openssl rsa -pubout -in rsa_1024_priv.pem -out rsa_1024_pub.pem
### 将公钥保存到后端,私钥发给前端
我这里使用分别使用常量保存私钥
前端
var encrypt = new JSEncrypt(); encrypt.setPublicKey(publick_key_content); var encrypted = encrypt.encrypt(password_value);
后端
// 解密 发送过来的数据 func RsaDecrypt(ciphertext []byte) ([]byte,error) { block,_ := pem.Decode([]byte(privateKey)) if block == nil { return nil,errors.New("private key error!") } priv,err := x509.ParsePKCS1PrivateKey(block.Bytes) if err != nil { return nil,errors.Wrap(err,fmt.Sprintf("Parse private key error:%s",err)) } return rsa.DecryptPKCS1v15(rand.Reader,priv,ciphertext) } // 登录handler的处理 encryptPwd := '加密的密码' b,err := base64.StdEncoding.DecodeString(encryptPwd) if err != nil { .... } decryptPwd,err := RsaDecrypt(b) if err != nil { ..... } // save
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。