[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [转载]利用openssl进行RSA加密解密

本帖最后由 523066680 于 2015-10-26 09:26 编辑

http://www.cnblogs.com/aLittleBi ... /09/22/2185418.html
作者昵称:akawhy

部分转载:

生成一个密钥:

openssl genrsa -out test.key 1024

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

openssl可以将这个文件中的公钥提取出来:

openssl rsa -in test.key -pubout -out test_pub.key

-in指定输入文件,-out指定提取生成公钥的文件名。至此,我们手上就有了一个公钥,一个私钥(包含公钥)。现在可以将用公钥来加密文件了。

我在目录中创建一个hello的文本文件,然后利用此前生成的公钥加密文件:

openssl rsautl -encrypt -in hello -inkey test_pub.key -pubin -out hello.en

-in指定要加密的文件,-inkey指定密钥,-pubin表明是用纯公钥文件加密,-out为加密后的文件。

解密文件:

openssl rsautl -decrypt -in hello.en -inkey test.key -out hello.de

-in指定被加密的文件,-inkey指定私钥文件,-out为解密后的文件。

至此,一次加密解密的过程告终。在实际使用中还可能包括证书,这个以后有机会再说~


#1楼 2012-06-14 10:15 上海一九四三  
有地方感觉说反了。应该是:私钥用来加密,而公钥用来解密。

(这个说的就是数字签名方面的)

#3楼 2012-07-31 20:50 Daniate  
@moonApple
如果使用私钥对数据进行加密的话,加密就没有意义,因为每个人都可以拥有公钥,所以每个人都可以用公钥进行解密。所以,通常使用私钥对摘要进行加密,然后把加密后的摘要追加到明文的后面,再使用对称密钥对明文和摘要进行整体加密。假如a为私钥拥有者,那么接收者b拿到密文后,可以用对称密钥解密,使用公钥对摘要进行解密,通过对比摘要,可以证明密文是否被篡改,也可以证明密文是否来自私钥的拥有者a,这也就是验签。如果b要向a发送消息,可以使用公钥对消息进行加密,因为只有a拥有私钥,所以只有a可以解密。整体来说,通常是,公钥加密、私钥解密。

继续转载

本帖最后由 523066680 于 2015-10-26 10:57 编辑

解读OpenSSL生成的密钥文件
http://blog.csdn.net/qq387732471/article/details/6800488

关于RSA密钥长度、明文长度和密文长度
http://www.metsky.com/archives/657.html

以及里面引用的一个链接:
RSA Algorithm
http://www.di-mgt.com.au/rsa_alg.html#note1

TOP

你是最近才用上git吗

TOP

本帖最后由 523066680 于 2015-10-26 15:56 编辑

回复 3# 依山居


    我外行,完全不用git

这是以前CNDOS的一扇菊吗!

TOP

回复 4# 523066680

    。。。一口老血。。
是的。是我。

用git存代码好用的。

TOP

返回列表