我熟悉在 csv 檔案格式上使用 python 運行資料轉換,但對在 Json 格式上運行資料轉換很陌生。
我有一個 Json 流資料,我想應用 md5 演算法來生成哈希。我已經創建了負責生成 md5 哈希的函式,但我不知道如何將此函式應用于 json 資料
這是我的 md5 哈希生成腳本
import hashlib
# initializing string
Password= "kureen2022!"
AccountName = "[email protected]"
# Convert password to bytes
pw_byte = Password.encode()
# Generate Salt
salt = AccountName.lower().encode()
# Concatenate salt with password, apply md5
result = hashlib.md5(salt pw_byte)
pw_hash = result.hexdigest()
# printing Hash value.
print(pw_hash)
這是我的 Json 腳本
import json
f = open('my_json.Json')
data = json.load(f)
for i in data['details']:
print(i)
這是一個示例 json 資料
{
"details" : [
{
"AccountName": "dojoujre",
"Password": "password123"
},
{
"AccountName": "dojoujre",
"Password": "password007"
}
]
}
目標是將 md5 腳本應用于 json 檔案生成哈希
{
"details" : [
{
"AccountName": "dojoujre",
"Password": "password123",
"Hash": "93837373930"
},
{
"AccountName": "dojoujre",
"Password": "password007",
"Hash": "eer3er5t6t6y"
}
]
}
會很高興有一些方向。另外,如果有人可以指導我找到正確的材料,我可以在其中學習如何使用 Json 執行資料轉換
uj5u.com熱心網友回復:
在 Python 中,JSON 物件的處理方式與字典一樣。因此,您的代碼應類似于:
for x in data['details']:
x['Hash'] = compute_md5(x['Password'])
這是關于字典的官方檔案。還可以查看這個檔案,它具有一些有用的功能來序列化/反序列化 json。
關于 md5 散列的簡短通知:我不鼓勵您在生產和/或關鍵環境中使用 md5 來計算“安全”散列。Md5 演算法基本上被破壞了,如果我沒記錯的話,只需 2^11 次操作就可以找到碰撞,這對于現代計算機來說非常容易。您應該依賴更安全的演算法,例如 SHA-3。
uj5u.com熱心網友回復:
您可以像字典一樣訪問它并遍歷字典串列。
訪問專案:
data.get('details') # or
data['details']
您可以使用以下命令撰寫新條目:
data['result'] = xxxx
我想這就是你所要求的,不是嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/513573.html
下一篇:JSON欄位的多個名稱
