国产精品白浆熟女,国产偷亚洲偷欧美偷精品,,新免费无码国产在线看,国产激情久久久久影院老熟女

md5密文與明文之間的相互轉(zhuǎn)換

JSON 2023-08-03 16:20:13 16270

一、字符串編碼

我們?cè)诩用苤?,首選需要做的就是將需要加密的字符串進(jìn)行編碼。編碼方式可以使用UTF8、ASCII以及GBK。編碼方式的不同會(huì)影響到MD5加密的結(jié)果。所以在加密之前,我們要選擇好合適的編碼方式。

UTF-8 編碼

UTF-8編碼是種可變長(zhǎng)度字符編碼,針對(duì)Unicode的任意字符。TF-8編碼的每個(gè)字符的長(zhǎng)度可以是1-4字節(jié),在進(jìn)行字符串編碼的時(shí)候,我們要把字符串當(dāng)中的每一個(gè)字符轉(zhuǎn)換成對(duì)應(yīng)的UTF-8編碼。

例如下面代碼。使用Python中的encode()函數(shù)將字符串轉(zhuǎn)換為UTF-8編碼


ASCII 編碼

ASCII編碼是我們常用的字符編碼方式,它需要使用指定的7位或8位二進(jìn)制數(shù)組合來(lái)表示128或256種隨機(jī)的字符。其中就包括了數(shù)字和英文以及一些特殊的標(biāo)點(diǎn)符號(hào)。比如A的ASCII 編碼為 02000002,數(shù)字 1 的 ASCII 編碼為 00220002

假如我們對(duì)字符串 "sojson"進(jìn)行編碼。如下


GBK 編碼

GBK編碼是中國(guó)大陸制訂的一種雙字節(jié)編碼方式。在GBK里面,每一個(gè)中文由兩個(gè)字節(jié)來(lái)表示,每個(gè)字節(jié)的取值范圍是0x81~0xfe。同樣的使用GBK編碼進(jìn)行字符串編碼的話需要將字符串中的每個(gè)中文字符轉(zhuǎn)換為對(duì)應(yīng)的GBK編碼。

例如下面代碼,對(duì)于字符串 "你好",進(jìn)行編碼


二、MD5加密

對(duì)字符串進(jìn)行勒編碼之后,接下來(lái)就是MD5加密了,MD5算法是不可逆的,同時(shí)還具備唯一性、敏感性等特點(diǎn)。使用Python中的 hashlib 模塊可以方便地實(shí)現(xiàn)MD5加密。具體步驟如下:

1. 導(dǎo)入 hashlib 模塊

```

import hashlib

```

2. 創(chuàng)建一個(gè) hashlib 對(duì)象

```

m = hashlib.md5()

```

3. 更新哈希對(duì)象以便將輸入字符串添加到哈希中

```

m.update(encoded_s)

```

4. 獲取哈希對(duì)象的摘要

```

digest = m.hexdigest()

print(digest)

```

完整代碼如下:

```

import hashlib

s = "hello"

encoded_s = s.encode("utf-8")

m = hashlib.md5()

m.update(encoded_s)

digest = m.hexdigest()

print(digest)

```

三、密文與明文的相互轉(zhuǎn)換

MD5密文和明文之間的轉(zhuǎn)化在工作中經(jīng)常需要用到。下面給大家?guī)?lái)兩個(gè)方向的轉(zhuǎn)換方法。

1、MD5密文轉(zhuǎn)明文

由于MD5密文是一種不可逆的操作,所以我們要通過(guò)字典破解或者暴力破解來(lái)操作,在實(shí)際的操作過(guò)程中,需要將MD5密文與已知明文進(jìn)行比對(duì),來(lái)判斷輸入的明文是否正確。

其實(shí)現(xiàn)在有很多的大佬都做出了在線的DM5解密工具,我們常用的就有http://zijieyoumin.cn/encrypt.html。在進(jìn)行解密的時(shí)候,要將明文通過(guò)上述方式進(jìn)行編碼,然后進(jìn)行MD5加密,最后將加密后的結(jié)果與目標(biāo)MD5密文進(jìn)行比對(duì)。

2. 明文轉(zhuǎn)MD5密文

明文轉(zhuǎn)MD5密文是可逆的。所以我們只要通過(guò)MD5加密將明文轉(zhuǎn)換為固定長(zhǎng)度的MD5密文就可以了。下面介紹hashlib進(jìn)行明文轉(zhuǎn)MD5密文的操作。具體步驟如下

1. 將明文進(jìn)行編碼

```

s = "123456"

encoded_s = s.encode("utf-8")

```

2. 創(chuàng)建一個(gè) hashlib 對(duì)象

```

m = hashlib.md5()

```

3. 更新哈希對(duì)象以便將輸入字符串添加到哈希中

```

m.update(encoded_s)

```

4. 獲取哈希對(duì)象的摘要

```

digest = m.hexdigest()

print(digest)

```

完整代碼如下:

```

import hashlib

s = "123456"

encoded_s = s.encode("utf-8")

m = hashlib.md5()

m.update(encoded_s)

digest = m.hexdigest()

print(digest)

```

總結(jié)

對(duì)md5密文與明文之間的相互轉(zhuǎn)換今天就介紹到這里拉,希望這邊文章對(duì)廣大朋友們有所幫助。

版權(quán)所屬:SO JSON在線解析

原文地址:http://zijieyoumin.cn/blog/415.html

轉(zhuǎn)載時(shí)必須以鏈接形式注明原始出處及本聲明。

本文主題:
md5

如果本文對(duì)你有幫助,那么請(qǐng)你贊助我,讓我更有激情的寫下去,幫助更多的人。

關(guān)于作者
一個(gè)低調(diào)而悶騷的男人。
相關(guān)文章
MD5如何解?
MD5原理:保護(hù)數(shù)據(jù)安全的利器
MD5原理:保護(hù)數(shù)據(jù)安全的利器
淺談md5中的加鹽是什么意思
md5和base64的區(qū)別
簡(jiǎn)述md5算法的具體過(guò)程
md5和base64的區(qū)別
公歷農(nóng)歷相互轉(zhuǎn)換教程3步教你搞定
MD5是什么?作用是什么?
HTML和JSON如何互轉(zhuǎn)
最新文章
計(jì)算機(jī)網(wǎng)絡(luò)的相關(guān)內(nèi)容 219
SOJSON V6 JavaScript 解密技巧與分析 5786
微信客服人工電話95068:如何快速解封微信賬號(hào)(2025最新指南) 11566
Java Http請(qǐng)求,HttpURLConnection HTTP請(qǐng)求丟失頭信息,Head信息丟失解決方案 5036
實(shí)用API合集分享:教你輕松獲取IP地址的API合集 8796
Linux I/O重定向 6705
Ruby 循環(huán) - while、for、until、break、redo 和 retry 3990
Node.js:全局對(duì)象 3581
如何使用終端檢查L(zhǎng)inux上的內(nèi)存使用情況 3779
JavaScript對(duì)象詳細(xì)剖析 3252
最熱文章
免費(fèi)天氣API,天氣JSON API,不限次數(shù)獲取十五天的天氣預(yù)報(bào) 744380
最新MyEclipse8.5注冊(cè)碼,有效期到2020年 (已經(jīng)更新) 702889
蘋果電腦Mac怎么恢復(fù)出廠系統(tǒng)?蘋果系統(tǒng)怎么重裝系統(tǒng)? 678310
Jackson 時(shí)間格式化,時(shí)間注解 @JsonFormat 用法、時(shí)差問(wèn)題說(shuō)明 561901
我為什么要選擇RabbitMQ ,RabbitMQ簡(jiǎn)介,各種MQ選型對(duì)比 511792
Elasticsearch教程(四) elasticsearch head 插件安裝和使用 483712
Jackson 美化輸出JSON,優(yōu)雅的輸出JSON數(shù)據(jù),格式化輸出JSON數(shù)據(jù)... ... 299478
Java 信任所有SSL證書,HTTPS請(qǐng)求拋錯(cuò),忽略證書請(qǐng)求完美解決 246598
Elasticsearch教程(一),全程直播(小白級(jí)別) 232033
227509
支付掃碼

所有贊助/開支都講公開明細(xì),用于網(wǎng)站維護(hù):贊助名單查看

查看我的收藏

正在加載... ...