erlang 使用rsa加密及解码的方法

其中的pub.key格式如下

-----BEGIN PUBLIC KEY-----

.....

-----END PUBLIC KEY-----

pri.key格式如下

-----BEGIN RSA PRIVATE KEY-----

...

-----END RSA PRIVATE KEY-----


-module(rsa).

-author('flyinmind@csdn.net').
-vsn('1.0').
-export([enc/1,dec/1,test/1]).

read_rsa_key(FileName) ->
    {ok, PemBin} = file:read_file(FileName),
    [Entry] = public_key:pem_decode(PemBin),
    public_key:pem_entry_decode(Entry)
.

rsa_public_key() ->
    read_rsa_key("pub.key")
.

rsa_private_key() ->
    read_rsa_key("pri.key")
.

enc(PlainText) ->
    public_key:encrypt_public(PlainText, rsa_public_key())
.

dec(CipherText)->
    public_key:decrypt_private(CipherText, rsa_private_key())
.

test(Msg) ->
    CipherText = enc(Msg),
    io:format("plain text:~p, cipher text:~p~n", [Msg, CipherText]),
    PlainText = dec(CipherText),
    io:format("plain text after decode:~p~n", [PlainText])
.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值