python实现HMAC算法与应用[通俗易懂]

python实现HMAC算法与应用[通俗易懂]Inthisprogram,youarerequiredtoinvokethealgorithmsthatareimplementedinbuild-inlibrary.Yourprogramdoesthefollowing:ExampleInputExampleOutputsolutioncodeoutput受于文本篇幅原因,本文相关算法实现工程例如环境及相关库,无法展示出来,现已将资源上传,可自行点击下方链接下载。python实现Hash和H

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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

Jetbrains全家桶1年46,售后保障稳定

Example Output

fd5963b9e6905d36ca8d00e3a740a3ab7a40b3d60237b6f2ed3025eee770f2d71bc95ba3e98265bea4308250d02f0e10bb78e710d9f0ef7ae9a4fa52a0818d27

solution code

import hashlib
import base64

# define the function decode_utf8
def decode_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
在这里插入图片描述

受于文本篇幅原因,本文相关算法实现工程例如环境及相关库,无法展示出来,现已将资源上传,可自行点击下方链接下载。

python实现Hash和HMAC算法工程文件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/215911.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 头歌c语言实训作业题解

    头歌c语言实训作业题解头歌c语言实训作业题解顺序结构程序设计1.加法运算2.不使用第3个变量,实现两个数的对调3.用宏定义常量4.数字分离5.计算总成绩和平均成绩6.求三角形面积7.立体几何计算题8.计算两个正整数的最大公约数选择结构程序设计选择结构程序设计进阶顺序结构程序设计1.加法运算本关任务:写一个加法程序,输入整数a,b,输出他们的和。解题代码:#include<stdio.h> intmain(void) { inta,b,c;//Pleaseinputa

  • SQL Set Language Transact-SQL 設置國家語言

    SQL Set Language Transact-SQL 設置國家語言

  • C++之运算符重载

    C++预定义中的运算符的操作对象只限于基本的内置数据类型,但是对于我们自定义的类型(类)是没有办法操作的,但是大多时候我们需要对我们定义的类型进行类似的运算,这个时候就需要我们对运算符进行重新定义,赋

    2021年12月19日
  • 遗传算法经典实例_遗传算法优化BP神经网络

    遗传算法经典实例_遗传算法优化BP神经网络下面用手工计算来简单地模拟遗传算法的各个主要执行步骤。      例:求下述二元函数的最大值: (1)个体编码          遗传算法的运算对象是表示个体的符号串,所以必须把变量x1,x2编码为一种      符号串。本题中,用无符号二进制整数来表示。          因x1,x2为0~7之间的整数,所以分别用3位无符号二进制整数来表示,将它      …

  • Java遍历json_java处理json数据

    Java遍历json_java处理json数据今天需要遍历一下json,但是只查到了遍历一层json的文章,满足不了多层级的json遍历。所以自己写一下,用fastJson处理。所遍历json需要考虑一下多层级的json,需要考虑的就是JSONObject和JSONArray两种情况,对这两种情况做处理,采用递归向下遍历,用instanceof判断递归到的类型,做不同处理。下边贴上代码:publicclassJsonLo…

  • 某操作系统采用页式虚拟存储管理_虚拟存储系统

    某操作系统采用页式虚拟存储管理_虚拟存储系统 一、请求分页式存储管理的基本思想请求分页式存储管理是基于分页式存储管理的一种虚拟存储器1.相同点a.把内存空间划分成尺寸相同、位置固定的块b.按照内存块大小,把作业的虚拟地址空间(相对地址空间)划分成页(划分过程对用户透明)c.虚拟地址空间中的一页可以装入到内存中的任何一块中2.不同点a.作业全部进入辅存,运转时,并不把整个作业程序一起都装入到内存,只…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号