golang实现RSA加密解密
公钥加密过程
- 得到公钥
- 加密
//加密
func RsaEncryptData(filename string, src []byte)([]byte, error) {
//获取公钥
pubKey, err := readRsaPubKey(filename)
if err != nil {
return nil, err
}
//加密
encryptInfo, err := rsa.EncryptPKCS1v15(rand.Reader, pubKey, src)
if err != nil {
return nil, err
}
return encryptInfo, nil
}
私钥解密过程
- 得到私钥
- 解密
//解密
func RsaDecryptData(filename string, src []byte)([]byte, error) {
//获取私钥
priKey, err := readRsaPriKey(filename)
if err != nil {
return nil, err
}
//解密
info, err := rsa.DecryptPKCS1v15(rand.Reader, priKey, src)
if err != nil {
return nil, err
}
return info, nil
}
写读公私钥文件工具
读取公钥文件
//读取公钥文件
func readRsaPubKey(filename string) (*rsa.PublicKey, error){
//1. 读取公钥文件
info, e