openssl是一個(gè)功能強(qiáng)大的工具包婚苹,它集成了眾多密碼算法及實(shí)用工具它抱。我們即可以利用它提供的命令臺(tái)工具生成密鑰浪漠、證書來(lái)加密解密文件陕习,也可以在利用其提供的API接口在代碼中對(duì)傳輸信息進(jìn)行加密。Openssl的簡(jiǎn)單使用:
1址愿、生成一個(gè)密鑰
openssl?genrsa?-out?test.key?1024
這里-out指定生成文件的该镣。需要注意的是這個(gè)文件包含了公鑰和密鑰兩部分,也就是說(shuō)這個(gè)文件即可用來(lái)加密也可以用來(lái)解密响谓。后面的1024是生成密鑰的長(zhǎng)度损合。
2、提取文件中的公鑰
openssl?rsa?-in?test.key?-pubout?-outtest_pub.key
-in指定輸入文件娘纷,-out指定提取生成公鑰的文件名嫁审。至此,我們手上就有了一個(gè)公鑰赖晶,一個(gè)私鑰(包含公鑰)÷墒剩現(xiàn)在可以將用公鑰來(lái)加密文件了。
3遏插、在目錄中創(chuàng)建一個(gè)hello的文本文件捂贿,然后用此前生成的公鑰加密文件
openssl?rsautl?-encrypt?-in?hello?-inkeytest_pub.key?-pubin?-out?hello.en
-in指定要加密的文件,-inkey指定密鑰胳嘲,-pubin表明是用純公鑰文件加密厂僧,-out為加密后的文件
4、解密文件
openssl?rsautl?-decrypt?-in?hello.en?-inkeytest.key?-out?hello.de
-in指定要加密的文件胎围,-inkey指定密鑰吁系,-pubin表明是用純公鑰文件加密,-out為加密后的文件白魂。