非对称加密Rsa数字签名Go实战

扫码链接5000+新基建产业链上下游从业者,入群请备注“机智地+姓名+公司+岗位

什么是非对称加密

非对称加密算法需要两个密钥:publickey和privatekey。如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

•公钥:可以公开的密钥

•私钥:需要妥善保管的密钥,知道人越少越好

•数据的机密性只能单方向保证

•加密效率低

什么是数字签名

将数字签名理解为附加到消息或文档中的代码。在生成数字签名之后,其可以作为证明消息从发送方到接收方的传输过程中没有被篡改的证据。

签名的生成

•有原始数据对其进行哈希运算-> 散列值

•使用非对称加密的私钥对散列值加密 -> 签名

•将原始数据和签名一并发送给对方

签名的验证

•接受数据

1 原始数据

2 数字签名

•数字签名,需要使用公钥解密,得到散列值

•对原始数据进行hash运算,得到新的散列值

•散列值进行比对

go实现Rsa数字签名

使用rsa生成密钥对

•生成密钥对

•序列化

•保存到磁盘文件

非对称加密Rsa数字签名Go实战

非对称加密Rsa数字签名Go实战

使用私钥对数字签名

非对称加密Rsa数字签名Go实战

使用公钥进行签名认证

非对称加密Rsa数字签名Go实战

结果展示

非对称加密Rsa数字签名Go实战

GitHub https://github.com/potaxie/go-crypto

Wechat potaxie

 

声明: 本文由入驻基智地平台的作者撰写,观点仅代表作者本人,不代表基智地立场;基智地发布此信息的目的在于传播更多信息,与本站立场无关。

发表评论

邮箱地址不会被公开。 必填项已用*标注