這里以字符串123456為例子,它的md5密文值為:e10adc3949ba59abbe56e057f20f883e\x0d\x0a這里以1.txt為需要被加密的文件。\x0d\x0a\x0d\x0a一、用oppnsslmd5加密字符串和文件的方法。\x0d\x0a1.oppnsslmd5加密字符串的方法\x0d\x0aa.手動輸入命令及過程如下:\x0d\x0a#openssl//在終端中輸入openssl后回車。\x0d\x0aOpenSSLmd5//輪答輸入md5后回車\x0d\x0a123456//接著輸入123456,不要輸入回車。然后按3次ctrl+d。\x0d\x0a123456e10adc3949ba59abbe56e057f20f883e//123456后面的就是密文了\x0d\x0a解釋:為何在輸入123456后不回車呢?\x0d\x0a是因為openssl默認(rèn)會把回車符當(dāng)做要加密的字符串中的一個字符,所以得到的結(jié)果不同。如果你輸入123456后回車,在按2次ctrl+d。得到的結(jié)果是:\x0d\x0aOpenSSLmd5\x0d\x0a123456\x0d\x0af447b20a7fcbf53a5d5be013ea0b15af//因為openssl不忽略回車符導(dǎo)致的\x0d\x0ab.或者直接用管道命令\x0d\x0a#echo-n123456|opensslmd5//必須要有-n參數(shù),否則就不是這個結(jié)果了。\x0d\x0ae10adc3949ba59abbe56e057f20f883e\x0d\x0a解釋:為何要加-n這個參數(shù)?\x0d\x0a-n就表示不輸入回車符,這樣才能得到正確的結(jié)果。如果你不加臘嘩慧-n,那么結(jié)果和前面說的一樣為:\x0d\x0af447b20a7fcbf53a5d5be013ea0b15af//因為openssl不忽略回車符導(dǎo)致的\x0d\x0a2.用openssl加密文件。\x0d\x0a#opensslmd5-in1.txt\x0d\x0a\x0d\x0a##################################################3\x0d\x0aOpenssl其他相關(guān)加密的命令參數(shù):引自:實(shí)用命令:利用openssl進(jìn)行BASE64編碼解碼、md5/sha1摘要、AES/DES3加密解密收藏\x0d\x0a一.利用openssl命令進(jìn)行BASE64編碼解碼(base64encode/decode)\x0d\x0a1.BASE64編碼命令\x0d\x0a對字符串‘a(chǎn)bc’進(jìn)行base64編碼:\x0d\x0a#echoabc|opensslbase64\x0d\x0aYWJjCg==(編碼結(jié)果)\x0d\x0a如果對一個文件進(jìn)行base64編碼(文件名t.txt):\x0d\x0a#opensslbase64-int.txt\x0d\x0a2.BASE64解碼命蘆如令\x0d\x0a求base64后的字符串‘YWJjCg==’的原文:\x0d\x0a#echoYWJjCg==|opensslbase64-d\x0d\x0aabc(解碼結(jié)果)\x0d\x0a如果對一個文件進(jìn)行base64解碼(文件名t.base64):\x0d\x0a#opensslbase64-d-int.base64\x0d\x0a二.利用openssl命令進(jìn)行md5/sha1摘要(digest)\x0d\x0a1.對字符串‘a(chǎn)bc’進(jìn)行md5摘要計算:echoabc|opensslmd5\x0d\x0a若對某文件進(jìn)行md5摘要計算:opensslmd5-int.txt\x0d\x0a2.對字符串‘a(chǎn)bc’進(jìn)行sha1摘要計算:echoabc|opensslsha1\x0d\x0a若對某文件進(jìn)行sha1摘要計算:opensslsha1-int.txt\x0d\x0a三.利用openssl命令進(jìn)行AES/DES3加密解密(AES/DES3encrypt/decrypt)\x0d\x0a對字符串‘a(chǎn)bc’進(jìn)行aes加密,使用密鑰123,輸出結(jié)果以base64編碼格式給出:\x0d\x0a#echoabc|opensslaes-128-cbc-k123-base64\x0d\x0aU2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g=(結(jié)果)\x0d\x0a對以上結(jié)果進(jìn)行解密處理:\x0d\x0a#echoU2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g=|opensslaes-128-cbc-d-k123-base64\x0d\x0aabc(結(jié)果)\x0d\x0a若要從文件里取原文(密文)進(jìn)行加密(解密),只要指定-in參數(shù)指向文件名就可以了。\x0d\x0a進(jìn)行des3加解密,只要把命令中的aes-128-cbc換成des3就可以了。\x0d\x0a注:只要利用opensslhelp就可以看到更多的安全算法了。\x0d\x0a###############################################\x0d\x0a\x0d\x0a二、利用php的md5函數(shù)加密字符串\x0d\x0a#toucha.php//創(chuàng)建a.php文件\x0d\x0a#via.php//用vi編輯a.php文件\x0d\x0a將輸入進(jìn)去后保存\x0d\x0a#phpa.php//運(yùn)行a.php文件\x0d\x0a顯示:e10adc3949ba59abbe56e057f20f883e\x0d\x0a三、利用md5sum命令\x0d\x0aA.在linux或Unix上,md5sum是用來計算和校驗文件報文摘要的工具程序。一般來說,安裝了Linux后,就會有md5sum這個工具,直接在命令行終端直接運(yùn)行??梢杂孟旅娴拿顏慝@取md5sum命令幫助manmd5sum\x0d\x0a#md5sum_help\x0d\x0a有個提示:“WithnoFILE,orwhenFILEis-,readstandardinput.”翻譯過來就是“如果沒有輸入文件選項或者文件選項為-,則從標(biāo)磚讀取輸入內(nèi)容”,即可以直接從鍵盤讀取字符串來加密。\x0d\x0a利用md5sum加密字符串的方法\x0d\x0a#md5sum//然后回車\x0d\x0a123456//輸入123456.然后按兩次ctrl+d.\x0d\x0a顯示:\x0d\x0a123456e10adc3949ba59abbe56e057f20f883e紅色代表加密后的值\x0d\x0a還可以用管道命令:\x0d\x0a#echo-n'123123'|md5sum\x0d\x0a\x0d\x0a或者寫成md5加密腳本,名字叫md5.sh,\x0d\x0a將以下內(nèi)容復(fù)制進(jìn)腳本里:\x0d\x0a#!/bin/bash\x0d\x0aecho-n$1|md5sum|awk'{print$1}'\x0d\x0a\x0d\x0a保存后,給腳本執(zhí)行權(quán)限。\x0d\x0a#shmd5.sh123456\x0d\x0a顯示:e10adc3949ba59abbe56e057f20f883e\x0d\x0aB.其實(shí)也可以將文本放入文本文件,然后用md5sum加密改文本,也可以得到字符串加密的值。過程如下:\x0d\x0a#toucha.txt\x0d\x0a#echo-n123456a.txt//將123456寫進(jìn)文本文件,不能丟了_n參數(shù),避免回車符干擾\x0d\x0a#md5suma.txt\x0d\x0a顯示:e10adc3949ba59abbe56e057f20f883ea.txt\x0d\x0a\x0d\x0actrl+d有兩個含義:\x0d\x0a一是向程序發(fā)送文件輸入結(jié)束符EOF。\x0d\x0a二是向程序發(fā)送exit退出指令。程序收到信號后具體動作是結(jié)束輸入、然后等待,還是直接退出,那就要看該程序捕獲信號后是如何操作的了。\x0d\x0amd5sum屬于第一個含義。兩次strl+d了,第一次讀取EOF指令,再次捕獲就會當(dāng)成exit指令。而shell一類的程序,會直接把ctrl+d解析為退出指令。
成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計、成都做網(wǎng)站與策劃設(shè)計,新源網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:新源等地區(qū)。新源做網(wǎng)站價格咨詢:028-86922220
Linux環(huán)境md5校驗
1、檢測單個文件的MD5值:
md5sum filename
2、如果目錄下有md5.md5文件,該文件描述了該文件夾下的所有文件的含攔MD5值,可批量校驗,該文件的內(nèi)容禪仔為一個文件一行,賀老汪格式為MD5TABFILEPATH
3、使用一下命令進(jìn)行批量校驗:
md5sum -c md5.md5
MD5算法常常被用來驗證網(wǎng)絡(luò)文件傳輸?shù)耐暾裕乐刮募蝗舜鄹?。MD5全稱是報文摘要算法(Message-Digest Algorithm5),此算法對任意長度的信息逐位進(jìn)行計算,產(chǎn)生一個二進(jìn)制長度為128位(十六進(jìn)制長度稿基行就是32位)的指紋(或稱報文摘要),不同的文鋒枝件產(chǎn)生相同的報文摘要的可能性是非常非常之小的。在linux或Unix上,md5sum是用來計算和校驗文件報文摘要的工具程序。一般來說,安裝了linux后,就會有md5sum這個工具,直接在命令行終端直接運(yùn)行。1、使用md5sum來產(chǎn)生指紋(報文摘要)命令如下:md5sum file file.md5或者md5sum file file.md5也可以把多個文件的報文摘要輸出到一個md5文件中,這要使用通配符*,比如某目錄下有幾個iso文件,要把鍵嘩這幾個iso文件的摘要輸出到iso.md5文件中,命令如下:md5sum *.iso iso.md52、使用md5報文摘要驗證文件,方法有二:把下載的文件file和該文件的file.md5報文摘要文件放在同一個目錄下,然后用如下命令進(jìn)行驗證:md5sum -c file.md5然后如果驗證成功,則會輸出:正確md5sum passwd passwd.bak /etc/passwd