零全零美(www.zzgwt.com)
          生活中的很多事情,并不像If...Else那么簡單!
          posts - 96,comments - 52,trackbacks - 0
          openssl簡介-指令enc

          用法:

          openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e]

          [-d] [-a] [-k password] [-kfile filename] [-K key] [-iv IV] [-p]

          [-P] [-bufsize number] [-debug]


          說明:
          對稱加密算法工具。它能夠把數據用不同對稱加密算法來加/解密。還能夠把加密/接密,還可以把結果進行base64編碼。


          OPTIONS
          -in filename
          要加密/解密的輸入文件,缺省為標準輸入。
          -out filename
          要加密/解密的輸出文件,缺省為標準輸出。
          -pass arg
          輸入文件如果有密碼保護,在這里輸入密碼。
          -salt
          為了和openssl0.9.5以后的版本兼容,必須set這個option.salt大概又是密碼學里的一個術語,具體是做什么的我也沒弄的很明白。就我的理解,這是加密過后放在密碼最前面的一段字符串, 用途也是為了讓破解更難.如果理解錯了,請密碼學高手指正.
          -nosalt
          想和openssl0.9.5以前的版本兼容,就set這個option
          -e
          一個缺省會set的option, 把輸入數據加密。
          -d
          解密輸入數據。
          -a
          用base64編碼處理數據。set了這個option表示在加密之后的數據還要用base64編碼捏一次,解密之前則先用base64編碼解碼。
          -k password
          一個過時了的項,為了和以前版本兼容。現在用-key代替了。
          -kfile filename
          同上,被passin代替。
          -K key
          以16進制表示的密碼。
          -iv IV
          作用完全同上。
          -p
          打印出使用的密碼。
          -P
          作用同上,但打印完之后馬上退出。
          -bufsize number
          設置I/O操作的緩沖區大小
          -debug
          打印調試信息。

          注意事項:
          0.9.5以后的版本,使用這個指令,-salt是必須被set的。否則很容易用字典攻擊法破你的密碼,流加密算法也容易被破。(加密算法中有塊加密算法和流加密算法倆種,塊加密算法是一次加密固定長度的數據,一般是8Bytes, 流加密算法則加密大量數據)。為什么我也弄不清楚。研究加密算法實在麻煩,也不是我們程序員的責任本指令可以用不同加密算法,那么哪些好,哪些壞呢?如果你使用不當,高強度的加密算法也變脆弱了。一般推薦新手門使用des3-cbc。

          本指令支持的加密算法
          base64 Base 64
          bf-cbc Blowfish in CBC mode

          bf Alias for bf-cbc

          bf-cfb Blowfish in CFB mode

          bf-ecb Blowfish in ECB mode

          bf-ofb Blowfish in OFB mode



          cast-cbc CAST in CBC mode

          cast Alias for cast-cbc

          cast5-cbc CAST5 in CBC mode

          cast5-cfb CAST5 in CFB mode

          cast5-ecb CAST5 in ECB mode

          cast5-ofb CAST5 in OFB mode
          des-cbc DES in CBC mode

          des Alias for des-cbc

          des-cfb DES in CBC mode

          des-ofb DES in OFB mode

          des-ecb DES in ECB mode


          des-ede-cbc Two key triple DES EDE in CBC mode

          des-ede Alias for des-ede

          des-ede-cfb Two key triple DES EDE in CFB mode

          des-ede-ofb Two key triple DES EDE in OFB mode



          des-ede3-cbc Three key triple DES EDE in CBC mode

          des-ede3 Alias for des-ede3-cbc

          des3 Alias for des-ede3-cbc

          des-ede3-cfb Three key triple DES EDE CFB mode

          des-ede3-ofb Three key triple DES EDE in OFB mode

          desx DESX algorithm.

          idea-cbc IDEA algorithm in CBC mode

          idea same as idea-cbc

          idea-cfb IDEA in CFB mode

          idea-ecb IDEA in ECB mode

          idea-ofb IDEA in OFB mode



          rc2-cbc 128 bit RC2 in CBC mode

          rc2 Alias for rc2-cbc

          rc2-cfb 128 bit RC2 in CBC mode

          rc2-ecb 128 bit RC2 in CBC mode

          rc2-ofb 128 bit RC2 in CBC mode

          rc2-64-cbc 64 bit RC2 in CBC mode

          rc2-40-cbc 40 bit RC2 in CBC mode


          rc4 128 bit RC4

          rc4-64 64 bit RC4

          rc4-40 40 bit RC4


          rc5-cbc RC5 cipher in CBC mode

          rc5 Alias for rc5-cbc

          rc5-cfb RC5 cipher in CBC mode

          rc5-ecb RC5 cipher in CBC mode

          rc5-ofb RC5 cipher in CBC mode

          大家可能看到DES都分des-ecb, des-cbc, des-cfb這些。簡單解釋一下。
          ecb就是說每來8bytes,就加密8bytes送出去。各個不同的數據塊之間沒有任何聯系。cbc和cfb則每次加密一個8bytes的時候都和上一個8bytes加密的結果有一個運算法則。各個數據塊之間是有聯系的。
          舉例時間:
          把某二進制文件轉換成base64編碼方式:
          openssl base64 -in file.bin -out file.b64
          把某base64編碼文件轉換成二進制文件。
          openssl base64 -d -in file.b64 -out file.bin
          把某文件用DES-CBC方式加密。加密過程中會提示你輸入保護密碼。

          openssl des3 -salt -in file.txt -out file.des3
          解密該文件, 密碼通過-k來輸入
          openssl des3
          posted on 2009-11-27 17:37 零全零美 閱讀(1291) 評論(0)  編輯  收藏 所屬分類: 安全相關
          主站蜘蛛池模板: 都安| 新密市| 高台县| 乌恰县| 西畴县| 石景山区| 故城县| 库伦旗| 南皮县| 格尔木市| 洛南县| 略阳县| 大悟县| 伊春市| 青海省| 洪湖市| 乌海市| 顺昌县| 桃园县| 赣榆县| 阿坝县| 五家渠市| 穆棱市| 乐清市| 金阳县| 西乌珠穆沁旗| 遵义县| 久治县| 邯郸市| 阜新市| 依安县| 长海县| 大连市| 大同县| 阿荣旗| 仲巴县| 宜昌市| 玉田县| 贺州市| 洮南市| 铜梁县|