捕風(fēng)之巢

          統(tǒng)計(jì)

          留言簿(3)

          java友情鏈接

          閱讀排行榜

          評(píng)論排行榜

          openssl簡(jiǎn)介(十二)--指令enc

          ?

          十二???? 指令 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]
          ? ?
          ? ?? ???
          ? ?
          說(shuō)明:
          ? ?
          對(duì)稱加密算法工具。它能夠把數(shù)據(jù)用不同對(duì)稱加密算法來(lái)加 / 解密。還能夠把加密 / 接密 , 還可以把結(jié)果進(jìn)行 base64 編碼。
          ? ?
          ? ? OPTIONS
          ? ? -in filename
          ? ?
          要加密 / 解密的輸入文件,缺省為標(biāo)準(zhǔn)輸入。
          ? ? -out filename
          ? ?
          要加密 / 解密的輸出文件,缺省為標(biāo)準(zhǔn)輸出。
          ? ? -pass arg
          ? ?
          輸入文件如果有密碼保護(hù),在這里輸入密碼。
          ? ? -salt
          ? ?
          為了和 openssl0.9.5 以后的版本兼容,必須 set 這個(gè) option.salt 大概又是密碼學(xué)里的一個(gè)術(shù)語(yǔ),具體是做什么的我也沒(méi)弄的很明白。就 我的理解 , 這是加密過(guò)后放在密碼最前面的一段字符串 , 用途也是為了讓破解更難 . 如果理解錯(cuò)了 , 請(qǐng)密碼學(xué)高手指正 .
          ? ? -nosalt
          ? ?
          想和 openssl0.9.5 以前的版本兼容,就 set 這個(gè) option
          ? ? -e
          ? ?
          一個(gè)缺省會(huì) set option, 把輸入數(shù)據(jù)加密。
          ? ? -d
          ? ?
          解密輸入數(shù)據(jù)。
          ? ? -a
          ? ?
          base64 編碼處理數(shù)據(jù)。 set 了這個(gè) option 表示在加密之后的數(shù)據(jù)還要用 base64 編碼捏一次,解密之前則先用 base64 編碼解碼。
          ? ? -k password
          ? ?
          一個(gè)過(guò)時(shí)了的項(xiàng),為了和以前版本兼容。現(xiàn)在用 -key 代替了。
          ? ? -kfile filename
          ? ?
          同上,被 passin 代替。
          ? ? -K key
          ? ?
          16 進(jìn)制表示的密碼。
          ? ? -iv IV
          ? ?
          作用完全同上。
          ? ? -p
          ? ?
          打印出使用的密碼。
          ? ? -P
          ? ?
          作用同上,但打印完之后馬上退出。
          ? ? -bufsize number
          ? ?
          設(shè)置 I/O 操作的緩沖區(qū)大小
          ? ? -debug
          ? ?
          打印調(diào)試信息。
          ? ?
          注意事項(xiàng):
          ? ? 0.9.5
          以后的版本,使用這個(gè)指令, -salt 是必須被 set 的。否則很容易用字典攻擊法破你的密碼,流加密算法也容易被破。 ( 加密算法中有塊加密算法 和流加密算法倆種,塊加密算法是一次加密固定長(zhǎng)度的數(shù)據(jù),一般是 8Bytes, 流加密算法則加密大量數(shù)據(jù) ) 。為什么我也弄不清楚。研究加密算法實(shí)在麻煩,也不是我們程序員的責(zé)任本指令可以用不同加密算法,那么哪些好,哪些壞呢?如果 你使用不當(dāng),高強(qiáng)度的加密算法也變脆弱了。一般推薦新手門使用 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 這些。簡(jiǎn)單解釋一下。
          ? ? ecb
          就是說(shuō)每來(lái) 8bytes, 就加密 8bytes 送出去。各個(gè)不同的數(shù)據(jù)塊之間沒(méi)有任何聯(lián)系。 cbc cfb 則每次加密一個(gè) 8bytes 的時(shí)候都和上一個(gè) 8bytes 加密的結(jié)果有一個(gè)運(yùn)算法則。各個(gè)數(shù)據(jù)塊之間是有聯(lián)系的。
          ? ?
          舉例時(shí)間:
          ? ?
          把某二進(jìn)制文件轉(zhuǎn)換成 base64 編碼方式:
          ? ? openssl base64 -in file.bin -out file.b64
          ? ?
          把某 base64 編碼文件轉(zhuǎn)換成二進(jìn)制文件。
          ? ? openssl base64 -d -in file.b64 -out file.bin
          ? ?
          把某文件用 DES-CBC 方式加密。加密過(guò)程中會(huì)提示你輸入保護(hù)密碼。
          ? ?
          ? ???openssl des3 -salt -in file.txt -out file.des3
          ? ?
          解密該文件, 密碼通過(guò) -k 來(lái)輸入
          ? ? openssl des3 -d -salt -in file.des3 -out file.txt -k mypassword
          ? ?
          加密某文件,并且把加密結(jié)果進(jìn)行 base64 編碼。用 bf+cbc 算法加密
          ? ? openssl bf -a -salt -in file.txt -out file.bf
          ? ?
          先用 base64 解碼某文件,再解密
          ? ? openssl bf -d -salt -a -in file.bf -out file.txt

          posted on 2006-10-17 15:33 捕風(fēng) 閱讀(813) 評(píng)論(0)  編輯  收藏 所屬分類: java安全

          主站蜘蛛池模板: 临武县| 景宁| 祁阳县| 永胜县| 嘉鱼县| 砚山县| 江西省| 兴文县| 甘孜县| 徐闻县| 桂林市| 永丰县| 隆回县| 漯河市| 宁波市| 济宁市| 乾安县| 金川县| 灵璧县| 扶风县| 呼玛县| 青龙| 正阳县| 桦南县| 浪卡子县| 上高县| 宜良县| 西丰县| 西和县| 呼图壁县| 龙口市| 石首市| 独山县| 平塘县| 宜君县| 崇左市| 夏邑县| 朝阳县| 新巴尔虎右旗| 中江县| 鹰潭市|