admin管理员组文章数量:1639675
这篇文章介绍几中加密方法,个人觉得挺有意思的,所以总结了以下.
以下简单介绍加密的几个命令,实现对文本的加密和解密处理:
1.生成私有密钥,可以使用不同的数字签名算法.下面分别介绍:
#采用DSA算法
$openssl dsaparam -noout -out dsakey0.pem -genkey 1024
#采用RSA算法
$openssl genrsa -out rsakey0.pem 1024
#与DSA不同的是,使用RSA算法生成私钥时,需要输入一个密码,用于保护私钥
#在使用这个私钥进行解加/解密时,也需要输入这个密码
$openssl genrsa -des3 -out rsakey1.pem 1024
2.公钥生成
生成dsa算法的公钥
$openssl dsa -in dsakey0.pem -pubout -out dsakey0-pub.pem
生成rsa算法的公钥
$openssl rsa -in rsakey0.pem -pubout -out rsakey0-pub.pem
3.自签名证书的生成方法
#产生dsa算法的证书
$openssl req -x509 -key dsakey0.pem -days 365 -out mycert-dsa.pem -new
#产生RSA算法的证书
$openssl req -x509 -key rsakey0.pem -days 365 -out mycert-rsa.pem -new
5.假设有个文件test.txt
内容如下:
$cat test.txt
111111
222222
333333
444444
aaaaaa
使用证书对明文信件进行加密,输出到etest.txt文件:
$ openssl smime -encrypt -in test.txt -out etest.txt mycert-rsa.pem
查看加密后的密文内容
$ cat etest.txt
一大串非人类看得懂的文字
使用私钥进行解密,输出到dtest.txt文件:
$ openssl smime -decrypt -in etest.txt -inkey rsakey0.pem -out dtest.txt
查看解密后的信件内容,与原明文信件内容完全一致
$ cat dtest.txt
111111
222222
333333
444444
aaaaaa
补充一点:生成文件的摘要
格式:openssl dgst <算法名称> 文件名
其中算法名称可以通过
openssl dgst -h 获得.
我的ubunru下自带openssl ,运行命令openssl version -a可以查看版本号
直接在程序中包含头文件,提示找不到头文件.需要在命令行在运行sudo apt -get install libssl-dev,此时可以进行编程了.
版权声明:本文标题:介绍几种简单的文件加密方法,挺有意思的 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729294371a1194543.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论