hashlib 文件校验

  1. # for循环校验
  2. import hashlib
  3. def check_md5(file):
  4. ret = hashlib.md5()
  5. with open(file, mode='rb') as f1:
  6. for line in f1:
  7. ret.update(line)
  8. return ret.hexdigest()
  9.  
  10. print(check_md5('rock1'))
  11. print(check_md5('rock'))
  12. print(check_md5('rock1') == check_md5('rock'))
  13.  
  14. # while循环每次读取1024字节校验
  15.  
  16. import hashlib
  17.  
  18. def check_md5(file):
  19. ret = hashlib.md5()
  20. with open(file, mode='rb') as f1:
  21. while 1:
  22. content = f1.read(1024)
  23. if content:
  24. ret.update(content)
  25. else:
  26. break
  27. return ret.hexdigest()
  28.  
  29. print(check_md5('rock1'))
  30. print(check_md5('rock'))
  31. print(check_md5('rock1') == check_md5('rock'))

用户名动态加盐校验

  1. import hashlib
  2.  
  3. def check_md5(s=''):
  4. # ret = hashlib.md5('w'.encode('utf-8'))
  5. # print(s[::-2])
  6. ret = hashlib.md5()
  7. ret.update(s[::-2].encode('utf-8'))
  8. ret.update(s.encode('utf-8'))
  9. return ret.hexdigest()
  10.  
  11. print(check_md5(''))
  12. print(check_md5(''))
  13. print(check_md5('rock'))
  1. import hashlib
  2.  
  3. def check_md5(s=''):
  4. # ret = hashlib.md5('w'.encode('utf-8'))
  5. # print(s[::-2])
  6. ret = hashlib.md5(s[::-2].encode('utf-8'))
  7. # ret = hashlib.md5()
  8. # ret.update(s[::-2].encode('utf-8'))
  9. ret.update(s.encode('utf-8'))
  10. return ret.hexdigest()
  11.  
  12. # print(check_md5('146123'))
  13. # print(check_md5('146123'))
  14. print(check_md5('rock') == '3169b9c85d4ae320c1dcb79043fe6f02') # 3169b9c85d4ae320c1dcb79043fe6f02

hashlib 文件校验,MD5动态加盐返回加密后字符的更多相关文章

  1. 日志模块详细介绍 hashlib模块 动态加盐

    目录 一:hashlib模块 二:logging 一:hashlib模块 加密: 将明文数据通过一系列算法变成密文数据(目的就是为了数据的安全) 能够做文件一系列校验 python的hashlib提供 ...

  2. Java使用MD5加盐进行加密

    Java使用MD5加盐进行加密    我使用的方法是导入了md5.jar包,就不需要再自己写MD5的加密算法了,直接调用方法即可 点击下载md5包 import com.ndktools.javamd ...

  3. Linux下通过md5sum生成MD5文件&校验MD5

    生成md5值 随便找个文件执行:md5sum file_name  即可生成该文件对应md5值. 也可以一次生成多个文件的md5值:md5sum file_name1 file_name2 file_ ...

  4. 继承,多态,集合,面向对象,XML文件解析,TreeView动态加载综合练习----->网络电视精灵项目练习、分析

    网络电视精灵 项目运行状态如图: 项目完成后的类: 首先,将程序分为二部分进行: 一:TreeView节点内容的设计及编写: 1.1遍写XML文件:管理(FullChannels.xml),A类电视台 ...

  5. 模块 -- 序列化 hashlib sha logging (加密 加盐 )

    模块:  一个py文件就是一个模块 模块分类: 1:内置模块,登录模块,时间模块,sys模块,os模块等等 2: 扩展模块, 3:自定义模块,自己写的py文件 python 开发效率之高:python ...

  6. Android应用安全之外部动态加载DEX文件风险

    1. 外部动态加载DEX文件风险描述 Android 系统提供了一种类加载器DexClassLoader,其可以在运行时动态加载并解释执行包含在JAR或APK文件内的DEX文件.外部动态加载DEX文件 ...

  7. (转)浅谈MD5加密算法中的加盐值(SALT)

    我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就 ...

  8. Web应用你加盐了吗?——浅谈MD5加密算法中的加盐值(SALT)

    转自:http://blog.csdn.net/blade2001/article/details/6341078 我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散 ...

  9. (转,学习记录)MD5加密算法中的加盐值(SALT)

    我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就 ...

随机推荐

  1. css编写规范最佳实践

    最初,在编写CSS的时候,我们往往想到哪儿就写到哪儿,它们之间的关联性和有序性并不在考虑之中.但随着代码量的增加,亦或是多人共同开发,CSS的编写规范变得重要起来了.本文通过三个方面,总结出CSS编写 ...

  2. JMeter PerfMon Metrics Collector性能监控插件

    官方文档地址https://jmeter-plugins.org/wiki/PerfMon/ JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况. JMeter正常自带可以通过To ...

  3. Java网络编程以及简单的聊天程序

    网络编程技术是互联网技术中的主流编程技术之一,懂的一些基本的操作是非常必要的.这章主要讲解网络编程,UDP和Socket编程,以及使用Socket做一个简单的聊天软件. 全部代码下载:链接 1.网络编 ...

  4. 题目1001:A+B for Matrices(简单循环)

    问题来源 http://ac.jobdu.com/problem.php?pid=1001 问题描述 给你两个形式相同的矩阵,对应位置相加得到新矩阵,计算里面全为0的行数和列数. 问题分析 这里其实只 ...

  5. C# 并发队列ConcurrentQueue

    测试函数 static async Task RunProgram() { var taskQueue = new ConcurrentQueue<CustomTask>(); var c ...

  6. kubernetes 与LVM的结合

    本文主要介绍k8s与LVM结合使用的场景,在原生的k8s中对于本地存储提供了hostPath与emptyDir两种volme,hostPath是直接将文件存储在本地主机上,存在的问题是无法进行quot ...

  7. CentOS 7 主机名bogon解决办法

    转https://blog.csdn.net/qq_24221531/article/details/80334942 一.修改linux主机的配置文件/etc/hostname 和 /etc/hos ...

  8. OpenERP 干掉 产品计量单位中的 search more 和 create and edit

    实际操作中特别容易点错而新建了重复的单位,通过下边的方法可以将“search more”和 “create and edit”干掉 在新继承product.product的模块中,修改xml文件 这样 ...

  9. Mac 10.12打开任何来源选项

    在终端中输入: sudo spctl --master-disable 然后输入密码即可.最终会出现如下图所示:

  10. ASP.NET MVC利用ActionLink实现动态组合查询

    一个文件传输数据表,内有日期.传输协议.传输方向(上传或下载).文件名等信息,完整的表内容显示如下: 现在需要分类查询,即按照协议和传输方向查询.单独的分类查询问题并不大,比如,按协议查询,在View ...