第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 pbkdf2 的 Python 哈希密碼

使用 pbkdf2 的 Python 哈希密碼

Go
Helenr 2022-12-26 10:14:30
我在 GoLang 上實現(xiàn)了一段代碼,效果很好package mainimport (    "crypto/sha256"    "encoding/hex"    "fmt"    "golang.org/x/crypto/pbkdf2")func main() {    newPasswd := pbkdf2.Key([]byte("test"), []byte("Gare5vgHIo"), 10000, 50, sha256.New)    fmt.Println(hex.EncodeToString(newPasswd), nil)}我正在嘗試在 Python 上做同樣的事情def main():    password = b'test'    salt = b'Gare5vgHIo'    iterations = 1000    key = pbkdf2_hmac("sha256", password, salt, iterations, 50)    print(key)    print(key.decode())但是key.decode()方法會拋出一個錯誤:UnicodeDecodeError('utf-8', b'\xd9\xb2;\x0f$\x9a\x9c\t\x91\x16\x81\xb8a\x00\xd8\xdd{e.\xa9\x7f\xe9\x92dH\xa6\x05\x16\xd8\xbb\xfdy\x13\xc5D\x1c\xa2\x93e\xbf{\\\x19\xc1\x8df\xf4\xbft\xe2', 5, 6, 'invalid start byte')我對 Python 代碼做錯了什么?
查看完整描述

1 回答

?
婷婷同學(xué)_

TA貢獻1844條經(jīng)驗 獲得超8個贊

.decode()試圖通過將字節(jié)解釋為 UTF-8 編碼數(shù)據(jù)來從bytes轉(zhuǎn)換為文本的編碼表示)。UTF-8 是一種自校驗編碼;隨機字節(jié)很少通過自檢。strstr

如果要將字節(jié)顯示為十六進制字符串,請使用:

print(key.hex())

其中bytes.hex是一個bytes直接轉(zhuǎn)換str為兩倍長度的 a 的方法,將每個字節(jié)表示為兩個十六進制字符。

在非常舊的(pre-3.5)版本的 Python 上,bytes沒有.hex()方法,所以你需要導(dǎo)入模塊binascii并執(zhí)行

print(binascii.hexlify(key))

但這在任何當前支持的 Python 版本上都不是必需的。


查看完整回答
反對 回復(fù) 2022-12-26
  • 1 回答
  • 0 關(guān)注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號