在开展一个项目中,需要用到MD5加密,但是发现这种加密方式可能存在一下问题
str1---->str(MD5)1
str2---->str(MD5)2
正常来说,str(md5)1与str(md5)2是不同的,但由于MD5算法的原因,是有概率存在
str(md5)1=str(md5)2
这种情况的。为了测试一下,我选用随机生成车号的形式做了测试,看看一千多万个数据里有多少重复的。
思路就是
1、我要生成1千多万的车号,这些车号不能有相同的,所以我用了循环
2、我要实现这些车号的MD5转化
3、存到数据库中
4、select count(distinct)一下看数据与加密前的车号数量是否一样。
python3.6写的脚本如下,数据库用的是sqlite3
#-*- coding:utf-8 -*-
import sqlite3
import random,string
#实际上radom这个没有发作用
import hashlib
conn = sqlite3.connect