搜索
写经验 领红包
 > 健康

程序加密算法(加密程序怎么写)

导语:关于加密程序员应该了解的那点事(1) - 对称加密与非对称加密

程序加密算法(加密程序怎么写)

对称加密

原文 & 密码 -> 密文

对称加密双向可逆:即知道原文和密码就可以获得密文;获得密文和密码也可以获得原文。所以对于对称加密,密码必须严格控制,不能公开。设想下有一个1000个人的部门需要信息加密,那么所有1000人都必须要保存密码,只要其中有一个人不小心泄露了密码,整个加密机制就崩溃了。

OpenSSL采用AES256对称加解密test.cpp的示例:

非对称加密

原文 & 私钥 -> 密文

密文 & 公钥 -> 原文

非对称加密的密钥采用配对方式,采用公钥加密的密文,只有使用与这个公钥配对的私钥才能解开。这样,加密者可以保留私钥,把公钥开放给公众,任何人都可以采用这个公钥加密信息,而只有保存对应私钥的人才能解开这些信息。相比对称加密,非对称加密最大的优势在于解决了密钥传播的问题。

一个比较简单获得密钥对的命令是ssh-keygen, 比如以下命令会生产mykey密钥对,私钥是mykey,公钥是mykey.pub。

OpenSSL采用非对称方式加密文件的示例:

值得注意的是,如果要加密的文件太大,上面的命令可能会抛出类似以下的错误:

这个时候,我们可以采用稍微变通的思路:

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小娴创作整理编辑!