0


python实现HMAC算法与应用

⭐本专栏主要用python实现密码学中的常用经典算法,例如Vigenere、3DES、RSA、ElGamal、Diffie-Hellman、RSA签名、ElGamal签名、HMAC、哈希算法、列移位、AES等等。
🔥文章和代码已归档至【Github仓库:cryptography-codebase】,需要的朋友们自取。或者公众号【AIShareLab】回复 密码学 也可获取。

Program : HMAC

In this program, you are required to invoke the

scrypt

algorithms that are implemented in

hashlib

build-in library. Your program does the following:

  • Read the plaintext password as a text string
  • Encode the password into byte array, with utf-8 encoding
  • Read the salt byte array as a hex string
  • Invoke the scrypt method with parameters n = 4 n=4 n=4, r = 8 r=8 r=8, p = 16 p=16 p=16
  • Output the result byte array as a hex string

Example Input

Thi$ i$ my passw0rd!
477d15cb740ca1da08f6d851361b3c80

Example Output

fd5963b9e6905d36ca8d00e3a740a3ab7a40b3d60237b6f2ed3025eee770f2d71bc95ba3e98265bea4308250d02f0e10bb78e710d9f0ef7ae9a4fa52a0818d27

solution code

import hashlib
import base64

# define the function decode_utf8defdecode_utf8(in_bytes:bytes)->str:return in_bytes.decode('utf-8')#

 Read the plaintext password as a text string
password_str:str=input("input the plaintext password:")# Encode the password into byte array, with utf-8 encoding
password_bytes:bytes= password_str.encode("utf-8")# Read the salt byte array as a hex string
salt_str:str=input("input the salt:")
salt_bytes:bytes=bytes.fromhex(salt_str)# Invoke the scrypt method with parameters n = 4 ,r = 8 ,p = 16
n:int=4
r:int=8
p:int=16
result_bytes:bytes= hashlib.scrypt(password_bytes, salt=salt_bytes, n=n, r=r, p=p)# Output the result byte array as a hex string
result_str:str= result_bytes.hex()print(result_str)

output

input the plaintext password:Thi$ i$ my passw0rd!
input the salt:477d15cb740ca1da08f6d851361b3c80
fd5963b9e6905d36ca8d00e3a740a3ab7a40b3d60237b6f2ed3025eee770f2d71bc95ba3e98265bea4308250d02f0e10bb78e710d9f0ef7ae9a4fa52a0818d27

进程已结束,退出代码为 0

A screenshot of the console output of the program
在这里插入图片描述


本文转载自: https://blog.csdn.net/m0_52316372/article/details/125696187
版权归原作者 timerring 所有, 如有侵权,请联系我们删除。

“python实现HMAC算法与应用”的评论:

还没有评论