Python教程:hashlib和hmac模块(1),2024年最新字节跳动外包面试难吗

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
img

正文

for i in password_list:

m.update(i.encode(‘utf-8’))

self.password_dict[i] = m.hexdigest()

return self.password_dict

破解

def brute_force(self, private_password):

for k, v in self.password_dict.items():

if v == private_password:

return f’明文密码为:{k}\n密文密码为:{v}’

hit = Hit_The_Library()

hit.get_password_dict(password_list)

print(hit.brute_force(“a191f8c8408c5a90fd970a02d0a3b52a”))

明文密码为:MTlmcz2kmL

密文密码为:a191f8c8408c5a90fd970a02d0a3b52a

密码加盐

对于私密信息不能直接以明文传输,比如密码,应该将之加密后传输。为防止数据包被截获后通过撞库而破解,可在密码内掺入其他内容。

import hashlib

m = hashlib.sha512()

m.update(‘首部添加的内容’.encode(‘utf-8’))

m.update(‘password’.encode(‘utf-8’))

m.update(‘尾部添加的内容’.encode(‘utf-8’))

print(m.hexdigset())

文件校验

1、校验全部内容,如果文件过大耗时会比较长。

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

import hashlib

class FileVerification:

def init(self,file):

self.file = file

def verification(self,hash):

h = getattr(hashlib,hash)()

with open(self.file, ‘rb’) as f:

for line in f:

h.update(line)

return h.hexdigest()

file = FileVerification(‘password.txt’)

print(file.verification(‘md5’))

3b673cf066e166e5c8f58e096cf02f85

2、截取文件的部分位置校验,速度较快,但有误差。例如平均在文件每1/100位置上取10个字节进行校验。

import os

import hashlib

class FileVerification:

def init(self,file):

self.file = file

def verification(self,hash):

h = getattr(hashlib,hash)()

step = os.path.getsize(self.file) // 100

with open(self.file, ‘rb’) as f:

while 1:

content = f.read(10)

if len(content):

h.update(content)

f.seek(step,1)

else:

return h.hexdigest()

file = FileVerification(‘password.txt’)

print(file.verification(‘md5’))

c7ab5c06d3e9d70f1a40dd022609397b

hmac模块

new方法第一个参数指定加的盐,必须为bytes类型,第二个参数指定hash算法。hmac并不是简单的将盐插入数据首部或尾部,而是经过其他算法将盐混入数据。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-j27r69pM-1713362369043)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值