趣文网 > 作文大全

短文:真够劲儿!openssl生成公钥私钥 加密接口数据!这俩指令

2020-11-27 07:50:01
相关推荐

我是@程序员小助手 Rman,继Xman,Ironman,Superman之后又一个实力派man。

引言

要在Windows或Linux上执行以下操作,必须在系统上安装OpenSSL。

Linux

先从Linux说,因为用处最多,OpenSSL也是从这儿来的。

生成私钥,只需执行下面一行指令:

openssl genrsa -out rsa.private 1024

想要生成长度。更小的密钥,把后面的1024改为512就可以啦!

理论上可以调整为比512更小的数值,但是不推荐。仅支持512,758,1024,1536,2048几个固定的数值长度不要随便写哦。

俗话说,一寸长一寸强,一寸短一寸险。字符串长度越长,加密强度越大,破解的难度就越高。

运行上述指令。将会在当前目录中生成一个 rsa.private 文件。至于为什么叫这个名字?因为好记。本质上这是一个文本文件。

生成公钥。公钥要用刚才生成的私钥生成。公钥可以在网络上进行传输而不担心其泄露。好比一把钥匙一把锁。单独把钥匙拿走或者把锁拿走,找不到另一半,加密的字符串,是不能被破解的。

openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM

同样的道理,执行上述指令将会在当前目录中生成一个 rsa.public 文件。文件内容就是公钥。

windows

OpenSSL也提供了windows下的安装包。同样需要在cmd命令行执行下面的指令。生成的步骤和方法与Linux下相同。我们不过多赘述。下面是两条指令,按顺序执行就可以了。

openssl.exe genrsa -out rsa.private 1024 openssl.exe rsa -in rsa.private -out rsa.public -pubout -outform PEM

没有什么好说的,一模一样。

实操

光说不练假把式,我们用上述指令生成一对公钥和秘钥。看看他们都长什么样。为了普遍用途起见,我们使用1024位加密长度。

下面生成的这个是私钥。

-----BEGIN RSA PRIVATE KEY-----MIICXgIBAAKBgQDbSmlzll/Wshw06S4DdhwwcWsa+nSibfjwaq888CPNic0/7Xq7VRytNerQeDW8G3todF6fMJSIroFRd0v7Af12P7qXubOqJts/NLA7/W3GhJ8wt2T8L0ThYzb2S8GyRGHsP/iGemVx3UuB1ajRhUBJfsi5yQw8LqT5hEYG4nk0twIDAQABAoGACpjS9bn7kaVzxX7LMXGgtRqWAWy+/CZyVDPjmf9Ey6bwGzm/p5PaWeh0G3Tjq95sHUUaWXkAhIZiS2yHaG7VL63BtBsXa/5NLPIRO7aXeNVRScWGzrxyd3SBscgbKLXId/OvvhrH57MvEjF+Anqk4Gh+2FspfBKOJdwAYucIklECQQD4jE40Vown3pO5l9fBeZu2f1OxDoaONhoJGBSzaFZf7OrAF6DjTviWKVs5XOwpMTdac8nNx/TBTTw+/KxiwklfAkEA4d2LqM6Zxk8ZoyyeIA0cRarj1GqlivlI7jIYqK6nO+eRiE9VGSX0dgkP2ctfckJlXtW3o9FQjt7wv+QoWR5bqQJBAMhK4NbCjA2xCyC74Y2zfy0xLHN5fitqI88CTeRKB5kj5gVIxUmIoUD5MN9oJ5QGalIFDzI6md2QbSVhH1YytUcCQQC8QGop3WC/r6f/n61/q024J1HS9rxZU6LcnTZ+SWurezuKMA0Oc9sIEk96yI4Z7osM+vYffNM28UwZs/GJLctZAkEAu0HGDVmwc8ZZPXi5f6SfKteOS6dBm7jc6ZEUqTtc6XckXhra2gsrMwpbswsSQ/Eh4u3TfeXW9AJXsmhAaXQsuw== -----END RSA PRIVATE KEY-----

下面这行是用私钥生成的公钥文件内容:

-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbSmlzll/Wshw06S4DdhwwcWsa+nSibfjwaq888CPNic0/7Xq7VRytNerQeDW8G3todF6fMJSIroFRd0v7Af12P7qXubOqJts/NLA7/W3GhJ8wt2T8L0ThYzb2S8GyRGHsP/iGemVx3UuB1ajRhUBJfsi5yQw8LqT5hEYG4nk0twIDAQAB -----END PUBLIC KEY-----

是不是超级简单快捷,就拥有了一对儿高强度的加密字符串?

写在最后

在应用程序中接口数据不想暴露给外部访问,但是又不想做单向加密,那么RSA的公钥私钥就派上大用场了,不对称加密就是这么好使。

Happy coding :)

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

奇思妙想的作文四年级400字 争论作文500字左右初一 这样想象真有趣300字作文 身边那些有特点的人作文三年级 我与书的故事作文400字 我的心愿500字优秀作文 有志者事竟成英语作文 我的语文老师作文500字 一言一行总关情作文 借物喻人的作文400字 向雷锋学习作文 音乐让生活更美好作文 以合作为话题的作文 一朵美丽的浪花作文 关于春天的作文300字 童年趣事作文350字 令人感动的一件事作文 关于文明礼仪的作文 friendship英语作文 关于圣诞节的英语作文 关于雷锋精神的作文 以感动为主题的作文 关于拔河比赛的作文 美丽的校园作文400字 人间处处有真情作文 童话故事作文100字 童话故事作文200字 21年高考作文 他一一了作文 为别人喝彩作文