久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

OpenSSL命令

 昵稱54185769 2018-05-10

用途:

對稱加密算法工具,。它能夠運用塊或者流算法對數(shù)據(jù)加/解密,。還能夠把加密/接密,還可以把結果進行base64編碼。

用法:

  1. openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-salt] [-nosalt] [-e ]   
  2. [-d ] [-p] [-P] [-v] [-nopad] [-debug] [-a ] [-A] [-base64] [-z] [-bufsize number][-k password ]   
  3. [-kfile filename] [-K key] [-S hsalt] [-iv IV] [-md digest] [-none] [-engine id]  

選項說明:

-ciphername:對稱算法名字,,此命令有兩種適用方式:-ciphername方式或者省略enc直接用ciphername,。

-in filename:要加密/解密的輸入文件,缺省為標準輸入,。

-out filename:要加密/解密的輸出文件,,缺省為標準輸出。

-pass arg:輸入文件如果有密碼保護,,指定密碼來源,。

-salt:為了和openssl0.9.5以后的版本兼容,默認設置,。這是加密過后放在密碼最前面的一段字符串,用途也是為了讓破解更難,。

-nosalt:和openssl0.9.5以前的版本兼容,,就設置這個選項。

-e:進行加密操作,,默認操作,。

-d:進行解密操作。

-p:打印出使用的salt,、口令以及初始化向量IV,。

-P:打印使用的salt、口令以及IV,,不做加密和解密操作,,直接退出。

-v:打印附加信息值,。

-nopad:沒有數(shù)據(jù)填充(主要用于非對稱加解密操作),。

-debug:打印調(diào)試信息值,。

-a:當進行加解密時,,它只對數(shù)據(jù)進行運算,,有時需要進行base64轉(zhuǎn)換,。設置此選項后,,加密結果進行base64編碼,;解密前先進行base64解碼,。

-A:默認情況下,,base64編碼結果在文件中是多行的,。如果要將生成的結果在文件中只有一行,,需設置此選項;解密時,,必須采用同樣的設置,,否則讀取數(shù)據(jù)時會出錯,。

-base64:當進行加解密時,它只對數(shù)據(jù)進行運算,,有時需要進行base64轉(zhuǎn)換,。設置此選項后,加密結果進行base64編碼,;解密前先進行base64解碼,。

-z:壓縮數(shù)據(jù)(前提是編譯的時候加進去了zlib庫)。

-bufsize number:設置I/O操作的緩沖區(qū)大小,,因為一個文件可能很大,,每次讀取的數(shù)據(jù)是有限的。

-k password:指定加密口令,,不設置此項時,,程序會提示用戶輸入口令。

-kfile filename:指定口令存放的文件,。

-K key:用的實際密鑰值:這個必須被提出,,它是一個16進制的輸入口令。如果沒有這個選項,,IV必須用B<-iv>選項指定,。當key和密鑰都指定時,用-K選項給定的key將會被使用,,而使用密鑰來產(chǎn)生初始化向量IV,。不建議兩者都指定。

-S hsaltsalt的值為16進制的,。

-iv IV:實際上使用的初始化向量,,這個必須被提出,它是一個16進制的初始化向量,。當僅僅用-K選項指定了key,,IV必須明確的定義。當一個密鑰用其中一個選項所指定,,IV將會與偶這個口令值來產(chǎn)生,。

-md digest:摘要算法。

-none:不對數(shù)據(jù)進行加解密操作,。

-id:硬件引擎,。

注意:

這個命令可以這樣B<openssl ciphername> B<openssl enc -ciphername>調(diào)用。但是第一個不能夠工作于提供的硬件相關的算法,,因為這個表單在配置文件讀取和硬件加載時已經(jīng)被處理,。

提供的硬件引擎實體以及相關的算法(例如ccgost硬件引擎提供的gost89算法)必須在配置文件中配置。硬件引擎,,在命令行中可以用-engine選項指定使用,,但是他僅僅被用于hadrware-assisted類型的算法,,hadrware-assisted類型的算法被OpenSSL核心或其他硬件所支持,在配置文件中指定,。

enc命令列出支持的算法時,,硬件引擎提供的算法在配置文件中和列表中都有指定。

如果可能的話,,會提示出入密碼來產(chǎn)生初始化密鑰key和初始化向量IV,。

-salt選項必須被使用,因為初始化密鑰key是由密碼產(chǎn)生的,,除非你想兼容很老的OpenSSL版本(0.9.5以前的版本),。

如果沒有設置-salt選項,很容易用字典攻擊法破你的密碼,,流加密算法也容易被破,。原因是沒有salt,用同樣地密碼經(jīng)常產(chǎn)生同樣地密鑰值,。當salt第一時間被使用,,8個字節(jié)的加密數(shù)據(jù)將保留出salt的值:當加密一個文件時salt的值是隨機產(chǎn)生的值。當從加密文件中讀取數(shù)據(jù)時則解密它,。

一些算法中沒有高強度的密鑰,如果不正確使用將會卷入安全問題,。

加密算法中有塊加密算法和流加密算法倆種,,塊加密算法是一次加密固定長度的數(shù)據(jù),一般是8Bytes, 流加密算法則加密大量數(shù)據(jù),。一般推薦新手門僅僅使用一個強大的CBC模式的塊加密算法,,例如des3-cbc

所有的塊加密算法普遍的用PKCS#5來進行填充來作為一個標準的塊加密:它允許一個基本的完整值或執(zhí)行密鑰檢查,。自從隨機數(shù)的產(chǎn)生,,它比1256的數(shù)據(jù)好。

如果填充沒有顯示,,輸入數(shù)據(jù)必須分為多個算法塊長度,。

所有的RC2算法有相同的密鑰和實際的密鑰長度。

Blowfish RC5算法用一個128字節(jié)的密鑰值,。

支持的算法:

需要注意的是其中的一些算法可以在編譯的時候顯示,,有些算法僅僅在配置文件中配置了硬件引擎后才能夠使用。enc命令執(zhí)行過程中,,不支持的選項(例如 openssl enc-help)包含了算法列表,,本命令支持的加密算法有:

  1. CFB mode  
  2.   
  3.  des-ede3-ofb       Three key triple DES EDE in OFB mode  
  4.   
  5.    
  6.  desx               DESX algorithm.  
  7.   
  8.    
  9.  gost89             GOST 28147-89 in CFB mode (provided by ccgost engine)  
  10.   
  11.  gost89-cnt        `GOST 28147-89 in CNT mode (provided by ccgost engine)   
  12.   
  13.    
  14.  idea-cbc           IDEA algorithm in CBC mode  
  15.   
  16.  idea               same as idea-cbc  
  17.   
  18.  idea-cfb           IDEA in CFB mode  
  19.   
  20.  idea-ecb           IDEA in ECB mode  
  21.   
  22.  idea-ofb           IDEA in OFB mode  
  23.   
  24.    
  25. base64             Base 64  
  26.   
  27.    
  28. bf-cbc             Blowfish in CBC mode  
  29.   
  30.  bf                 Alias for bf-cbc  
  31.   
  32.  bf-cfb             Blowfish in CFB mode  
  33.   
  34.  bf-ecb             Blowfish in ECB mode  
  35.   
  36.  bf-ofb             Blowfish in OFB mode  
  37.   
  38.    
  39. cast-cbc           CAST in CBC mode  
  40.   
  41.  cast               Alias for cast-cbc  
  42.   
  43.  cast5-cbc          CAST5 in CBC mode  
  44.   
  45.  cast5-cfb          CAST5 in CFB mode  
  46.   
  47.  cast5-ecb          CAST5 in ECB mode  
  48.   
  49.  cast5-ofb          CAST5 in OFB mode  
  50.   
  51.    
  52.  des-cbc            DES in CBC mode  
  53.   
  54.  des                Alias for des-cbc  
  55.   
  56.  des-cfb            DES in CBC mode  
  57.   
  58.  des-ofb            DES in OFB mode  
  59.   
  60.  des-ecb            DES in ECB mode  
  61.   
  62.    
  63.  des-ede-cbc        Two key triple DES EDE in CBC mode  
  64.   
  65.  des-ede            Two key triple DES EDE in ECB mode  
  66.   
  67.  des-ede-cfb        Two key triple DES EDE in CFB mode  
  68.   
  69.  des-ede-ofb        Two key triple DES EDE in OFB mode  
  70.   
  71.    
  72.  des-ede3-cbc       Three key triple DES EDE in CBC mode  
  73.   
  74.  des-ede3           Three key triple DES EDE in ECB mode  
  75.   
  76.  des3               Alias for des-ede3-cbc  
  77.   
  78.  des-ede3-cfb       Three key triple DES EDE   
  79.   
  80.  rc2-cbc            128 bit RC2 in CBC mode  
  81.   
  82.  rc2                Alias for rc2-cbc  
  83.   
  84.  rc2-cfb            128 bit RC2 in CFB mode  
  85.   
  86.  rc2-ecb            128 bit RC2 in ECB mode  
  87.   
  88.  rc2-ofb            128 bit RC2 in OFB mode  
  89.   
  90.  rc2-64-cbc         64 bit RC2 in CBC mode  
  91.   
  92.  rc2-40-cbc         40 bit RC2 in CBC mode  
  93.   
  94.    
  95.  rc4                128 bit RC4  
  96.   
  97.  rc4-64             64 bit RC4  
  98.   
  99.  rc4-40             40 bit RC4  
  100.   
  101.    
  102.  rc5-cbc            RC5 cipher in CBC mode  
  103.   
  104.  rc5                Alias for rc5-cbc  
  105.   
  106.  rc5-cfb            RC5 cipher in CFB mode  
  107.   
  108.  rc5-ecb            RC5 cipher in ECB mode  
  109.   
  110.  rc5-ofb            RC5 cipher in OFB mode  
  111.   
  112.    
  113.  aes-[128|192|256]-cbc        128/192/256 bit AES in CBC mode  
  114.   
  115.  aes-[128|192|256]     Alias for aes-[128|192|256]-cbc  
  116.   
  117.  aes-[128|192|256]-cfb        128/192/256 bit AES in 128 bit CFB mode  
  118.   
  119.  aes-[128|192|256]-cfb1      128/192/256 bit AES in 1 bit CFB mode  
  120.   
  121.  aes-[128|192|256]-cfb8      128/192/256 bit AES in 8 bit CFB mode  
  122.   
  123.  aes-[128|192|256]-ecb       128/192/256 bit AES in ECB mode  
  124.   
  125.  aes-[128|192|256]-ofb        128/192/256 bit AES in OFB mode  

大家可能看到DES都分des-ecb, des-cbc, des-cfb這些。簡單解釋一下,。

ecb就是說每來8bytes,,就加密8bytes送出去,。各個不同的數(shù)據(jù)塊之間沒有任何聯(lián)系。cbccfb則每次加密一個8bytes的時候都和上一個8bytes加密的結果有一個運算法則,。各個數(shù)據(jù)塊之間是有聯(lián)系的,。

實例:

把某二進制文件轉(zhuǎn)換成base64編碼方式:

  1. openssl base64 -in file.bin -out file.b64   

把某base64編碼文件轉(zhuǎn)換成二進制文件。

  1. openssl base64 -d -in file.b64 -out file.bin   


把某文件用DES-CBC方式加密,。加密過程中會提示你輸入保護密碼,。

  1. openssl des3 -salt -in file.txt -out file.des3   


解密該文件,密碼通過-k來輸入

  1. openssl des3 -d -salt -in file.des3 -out file.txt -k mypassword   


加密某文件,,并且把加密結果進行base64編碼,。用bf+cbc算法加密

  1. openssl bf -a -salt -in file.txt -out file.bf   


先用base64解碼某文件,再解密

  1. openssl bf -d -salt -a -in file.bf -out file.txt  


BUGs:

A選項在對大文件進行操作時,,將不會起作用,。

必須有個選項來標記迭代的次數(shù)。

Enc命令僅僅支持一個固定的算法長度,。例如,,向用76字節(jié)密鑰的RC284字節(jié)的RC4,它不支持,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多