日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux md5 加密字符串和文件方法

發布時間:2025/3/8 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux md5 加密字符串和文件方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux md5 加密字符串和文件方法

MD5算法常常被用來驗證網絡文件傳輸的完整性,防止文件被人篡改。MD5全稱是報文摘要算法(Message-Digest Algorithm 5),此算法對任意長度的信息逐位進行計算,產生一個二進制長度為128位(十六進制長度就是32位)的“指紋”(或稱“報文摘要”),不同的文件產生相 同的報文摘要的可能性是非常非常之小的。

?

MD5的作用是讓大容量信息在用數字簽名軟件簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的字節串變換成一定長的十六進制數字串)。除了MD5以外,其中比較有名的還有sha-1、RIPEMD以及Haval等。

對MD5算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理后,算法的輸出由四個32位分組組成,將這四個32位分組級聯后將生成一個128位散列值。

算法示意圖:

linux下生成字符串密文的命令、軟件及使用方法如下

這里以字符串123456為例子,它的md5密文值為:e10adc3949ba59abbe56e057f20f883e

這里以1.txt為需要被加密的文件。

一、????? 用oppnssl md5? 加密字符串和文件的方法。

1. oppnssl md5? 加密字符串的方法

a.手動輸入命令及過程如下:

#openssl?? ?????//在終端中輸入openssl后回車。

OpenSSL> md5??????? //輸入md5后回車

123456????? //接著輸入123456,不要輸入回車。然后按3次ctrl+d。

123456e10adc3949ba59abbe56e057f20f883e??? //123456后面的就是密文了

解釋:為何在輸入123456后不回車呢?

是因為openssl默認會把回車符當做要加密的字符串中的一個字符,所以得到的結果不同。如果你輸入123456后回車,在按2次ctrl+d。得到的結果是:

OpenSSL> md5

123456

f447b20a7fcbf53a5d5be013ea0b15af??? //因為openssl不忽略回車符導致的

b.或者直接用管道命令

# echo -n? 123456? | openssl md5?? //必須要有-n參數,否則就不是這個結果了。

e10adc3949ba59abbe56e057f20f883e

解釋:為何要加-n這個參數?

-n就表示不輸入回車符,這樣才能得到正確的結果。如果你不加-n,那么結果和前面說的一樣為:

f447b20a7fcbf53a5d5be013ea0b15af??? //因為openssl不忽略回車符導致的

2.用openssl加密文件。

#openssl?? md 5?? -in?? 1.txt

?

##################################################3

Openssl其他相關加密的命令參數:引自:實用命令:利用openssl進行BASE64編碼解碼、md5/sha1摘要、AES/DES3加密解密 收藏

一. 利用openssl命令進行BASE64編碼解碼(base64 encode/decode)
1. BASE64編碼命令
對字符串‘abc’進行base64編碼:
# echo abc | openssl base64
YWJjCg==? (編碼結果)

如果對一個文件進行base64編碼(文件名t.txt):
# openssl base64 -in t.txt

2. BASE64解碼命令
求base64后的字符串‘YWJjCg==’的原文:
# echo YWJjCg== | openssl base64 -d
abc?? (解碼結果)

如果對一個文件進行base64解碼(文件名t.base64):
# openssl base64 -d -in t.base64

二. 利用openssl命令進行md5/sha1摘要(digest)
1. 對字符串‘abc’進行md5摘要計算:echo abc | openssl md5
若對某文件進行md5摘要計算:openssl md5 -in t.txt

2. 對字符串‘abc’進行sha1摘要計算:echo abc | openssl sha1
若對某文件進行sha1摘要計算:openssl sha1 -in t.txt

三. 利用openssl命令進行AES/DES3加密解密(AES/DES3 encrypt/decrypt)

對字符串‘abc’進行aes加密,使用密鑰123,輸出結果以base64編碼格式給出:
# echo abc | openssl aes-128-cbc -k 123 -base64
U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g=?? (結果)

對以上結果進行解密處理:
# echo U2FsdGVkX18ynIbzARm15nG/JA2dhN4mtiotwD7jt4g= | openssl aes-128-cbc -d -k 123 -base64
abc? (結果)

若要從文件里取原文(密文)進行加密(解密),只要指定 -in 參數指向文件名就可以了。

進行des3加解密,只要把命令中的aes-128-cbc換成des3就可以了。

注:只要利用openssl help就可以看到更多的安全算法了。

###############################################

二、????? 利用md5sum命令

A.在linux或Unix上,md5sum是用來計算和校驗文件報文摘要的工具程序。一般來說,安裝了Linux后,就會有md5sum這個工具,直接在命令行終端直接運行。可以用下面的命令來獲取md5sum命令幫助 man md5sum

#md5sum –help

有個提示:“With no FILE, or when FILE is -, read standard input.”翻譯過來就是“如果沒有輸入文件選項或者文件選項為 -?? ,則從標磚讀取輸入內容”,即可以直接從鍵盤讀取字符串來加密。

利用md5sum加密字符串的方法

# md5sum???????? //然后回車

123456?????????? //輸入123456.然后按兩次ctrl+d.

顯示:

123456e10adc3949ba59abbe56e057f20f883e?????紅色代表加密后的值

還可以用管道命令:

#echo? ?-n?'123123' | md5sum

?

或者寫成md5加密腳本,名字叫md5.sh,

將以下內容復制進腳本里:

#!/bin/bash

echo ??-n? ?$1 | md5sum | awk '{print $1}'

?

保存后,給腳本執行權限。

#sh? md5.sh?? 123456

顯示:e10adc3949ba59abbe56e057f20f883e

B.其實也可以將文本放入文本文件,然后用md5sum 加密改文本,也可以得到字符串加密的值。過程如下:

#touch a.txt

#echo ?-n???123456 > a.txt ???//將123456寫進文本文件,不能丟了 –n參數,避免回車符干擾

#md5sum??? a.txt

顯示:e10adc3949ba59abbe56e057f20f883e? ???a.txt

?

ctrl+d有兩個含義:

一是向程序發送文件輸入結束符EOF。

二是向程序發送exit退出指令。程序收到信號后具體動作是結束輸入、然后等待,還是直接退出,那就要看該程序捕獲信號后是如何操作的了。
md5sum屬于第一個含義。兩次strl+d了,第一次讀取EOF指令,再次捕獲就會當成exit指令。而shell一類的程序,會直接把ctrl+d解析為退出指令。

?

三、獲取字符串的MD5值:

字符串“hello”的MD5:

  • $ echo -n 'hello'|md5sum|cut -d ' ' -f1
  • 得到的MD5值:
  • 5d41402abc4b2a76b9719d911017c592
  • 命令解釋:
    md5sum: 顯示或檢查 MD5(128-bit) 校驗和,若沒有文件選項,或者文件處為"-",則從標準輸入讀取。
    echo -n : 不打印換行符。
    cut:? cut用來從標準輸入或文本文件中剪切列或域。剪切文本可以將之粘貼到一個文本文件。?
    ??????? -d 指定與空格和tab鍵不同的域分隔符。-f1 表示第一個域。參考這里。

    獲取文件的MD5值:

  • $ md5sum linuxmint-12-gnome-dvd-32bit.iso|cut -d ' ' -f1
  • 得到的MD5值:
    ee3d6e2ca498bc7685b7f17cdb5f2eea 使用MD5校驗iso文件:
  • $ md5sum linuxmint-12-gnome-dvd-32bit.iso >linuxmint-12-gnome-dvd-32bit.md5
  • 注意linuxmint-12-gnome-dvd-32bit.md5的內容是:
  • ef3d6e2ca498bc7685b7f17cdb5f2eea linuxmint-12-gnome-dvd-32bit.iso
  • 把linuxmint-12-gnome-dvd-32bit和其驗證文件
    ??? linuxmint-12-gnome-dvd-32bit.md5放到同一目錄下用下面的命令:
  • $ md5sum -c linuxmint-12-gnome-dvd-32bit.md5
  • 如果校驗正確則輸出:?
  • linuxmint-12-gnome-dvd-32bit.iso: 確定
  • 如果校驗錯誤則輸出:
  • linuxmint-12-gnome-dvd-32bit.iso: 失敗
  • md5sum: 警告:1/1 生成的校驗和不匹配
  • 命令解釋:
    md5 -c: 從文件中讀取MD5 的校驗值并予以檢查

    總結

    以上是生活随笔為你收集整理的linux md5 加密字符串和文件方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。