md5/sha不可逆加密

des对称加密

rsa加密

生成一个密钥(私钥)

 [root@hunterfu ~]# openssl genrsa -out private.key 1024

注意:需要注意的是这个文件包含了公钥和密钥两部分,也就是说这个文件即可用来加密也可以用来解密,后面的1024是生成密钥的长度.

通过密钥文件private.key 提取公钥

[root@hunterfu ~]# openssl rsa -in private.key -pubout -out pub.key

使用公钥加密信息

[root@hunterfu ~]# echo -n "123456" | openssl rsautl -encrypt -inkey pub.key -pubin >encode.result

使用私钥解密信息

[root@hunterfu ~]#cat encode.result | openssl rsautl -decrypt&nbsp;<wbr> -inkey private.key

output:123456

dsa加密

DSA只是一种算法,和RSA不同之处在于它不能用作加密和解密,也不能进行密钥交换,只用于签名,它比RSA要快很多.

生成一个密钥(私钥)

[root@hunterfu ~]# openssl dsaparam -out dsaparam.pem 1024
[root@hunterfu ~]# openssl gendsa -out privkey.pem dsaparam.pem

生成公钥

[root@hunterfu ~]# openssl dsa -in privkey.pem -out pubkey.pem -pubout   
[root@hunterfu ~]# rm -fr dsaparam.pem

使用私钥签名

[root@hunterfu ~]# echo -n "123456" | openssl dgst -dss1 -sign privkey.pem > sign.result

使用公钥验证

[root@hunterfu ~]# echo -n "123456"  | openssl dgst -dss1 -verify pubkey.pem -signature sign.result

ECC 与 RSA 相比,有以下的优点:
(1)相同密钥长度下,安全性能更高,如160位ECC已经与1024位RSA、DSA有相同的安全强度。
(2)计算量小,处理速度快,在私钥的处理速度上(解密和签名),ECC远 比RSA、DSA快得多。
(3)存储空间占用小 ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多, 所以占用的存储空间小得多。
(4)带宽要求低使得ECC具有广泛得应用前景。
这使得ECC 取代RSA成为可能。

« Hello World java正则表达式 需要转义的字符 »