在erlang的基础模块中,提供了rsa加解密的方法,今天在这里贴一下可用的秘钥处理方式和加密解密方式。
正文
加密:
![](https://img.haomeiwen.com/i12967502/95e3e60b7811e850.png)
![](https://img.haomeiwen.com/i12967502/78711daf0869b405.png)
解密:
![](https://img.haomeiwen.com/i12967502/1f3408d782b0cb62.png)
![](https://img.haomeiwen.com/i12967502/6e79747e5f7fe8db.png)
注意
rsa加密的数据长度是有限制的,因此我先将数据进行sha256加密,将数据长度限制在64个字节,当然这个可以根据实际需求进行更改,分块或者压缩都可以。另外,在线生成rsa秘钥的时候,erlang语言不支持PKCS#8的秘钥,必须使用PKCS#1的秘钥。
另外,在这里,hash的结果的编码是<<121,123,342>> 这样的格式,如果要将其改为可见字符,将加密结果变得和其他语言一致,需要如下操作:
![](https://img.haomeiwen.com/i12967502/2c2662ee5fa9d09b.png)
网友评论