使用openssl進行文件加密


#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;

int main(int argc,char *argv[])
{
        string cmd = "openssl ";
        for(int i = 1; i<argc; i++)
        {
                cmd +=" ";
                cmd += argv[i];
        }
        cout << cmd<<endl;
        cmd +=" ";
        cmd +="-k 123";  //指定加密的密碼。
        system(cmd.c_str());
}

ubuntu@ubuntu-vm:~/workspace/encryption$ g++ main.cpp
ubuntu@ubuntu-vm:~/workspace/encryption$ ./a.out enc -des -e -a -in main.cpp -out aa
ubuntu@ubuntu-vm:~/workspace/encryption$ ./a.out enc -des -d -a -in aa
openssl  enc -des -d -a -in aa

-----------
openssl也可以進行文件的加密。
把加密的文件傳給需要的人后,只要他知道加密方式和加密口令,就可以解密查看文件。
openssl支持的加密算法很多,包括:bf,cast,des,des3,idea,rc2,rc5等及以上各種的變體,具體可參閱相關文檔。

1.加密一個文件:
[root@fxvsystem root]# openssl enc -des -e -a -in install.log -out install.log.des
enter des-cbc encryption password:
Verifying – enter des-cbc encryption password:
輸入密碼之后,就會生成install.log.des文件,這個文件名是自己指定的,可以隨意寫。
其中:
enc表明你打算使用某個算法
-des是具體使用的某個算法
-e 表明要加密
-a 同樣是使用ASCII進行編碼
-in 要加密的文件名字
-out 加密后的文件名字

把生成的文件傳到另一台機器后,執行如下命令進行解密
[root@fxvsystem gpg]# openssl enc -des -d -a -in install.log.des -out install.log
enter des-cbc decryption password:
輸入口令后,就可以得到解密后的文件了。
其中
-d表明要進行解密

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM