Django生成唯一字符串UUID与MD5

1 Python使用UUID库生成唯一ID

UUID是128位的全局唯一标识符,通常由32字节的字符串表示,保证时间和空间的唯一性

通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性

用法:

uuid1()——基于时间戳

uuid3()——基于名字的MD5散列值

            通过计算名字和命名空间的MD5散列值得到,保证了同一命名空间中不同名字的唯一性,
            和不同命名空间的唯一性,但同一命名空间的同一名字生成相同的uuid。    

 uuid4()——基于随机数

            由伪随机数得到,有一定的重复概率,该概率可以计算出来。

 uuid5()——基于名字的SHA-1散列值

            算法与uuid3相同,不同的是使用 Secure Hash Algorithm 1 算法

        导入uuid

        import uuid 

        token = uuid.uuid4()

参考至 : https://www.cnblogs.com/dkblog/archive/2011/10/10/2205200.html

2 Python使用haslib.md5生成唯一ID

在hashlib库的hash算法中,提供了很多加密算法,有 sha1()、sha224()、sha256()、sha384()、sha512()、blake2b()和 blake2s()、md5(),这些方法都通过统一接口返回一个对象,例如,使用sha256()可以创建一个SHA-256的哈希对象。

import hashlib
md = haslib.md5(salt)  # bytes
md.update('') # encode
re = md.hexdigest()
print(re)

原文地址:https://www.cnblogs.com/big-handsome-guy/p/8533213.html

时间: 2024-08-03 20:24:27

Django生成唯一字符串UUID与MD5的相关文章

java生成随机字符串uuid

GUID是一个128位长的数字,一般用16进制表示.算法的核心思想是结合机器的网卡.当地时间.一个随即数来生成GUID.从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复. UUID是1.5中新增的一个类,在java.util下,用它可以产生一个号称全球唯一的ID package com.mytest; import java.util.UUID; public class UTest { public static void main(Stri

PHP算法——生成唯一字符串

经常遇到忘记密码的情况,点击一下忘记密码,然后收到更改密码的链接,连接中往往都会有一段很长而且很乱的字符串.试想一下,如果出现了重复的字符串,那岂不是把别人的密码给重置了? 所以产生唯一数对于网站的安全性很重要. 目前PHP能产生唯一数的方法可以采用散列值.随机数.时间等方法,下面是我自己测试的唯一数,个人推荐GUID. 方法一: <?PHP $str = uniqid(mt_rand(),1); echo 'sha1: ',sha1($str); echo '<br>'; echo '

获取表中唯一字符串uuid,可用于随机文件名

在mysql数据库中,可以使用uuid()语句来生成一个UUID:例如:mysql> select uuid();+--------------------------------------+| uuid()                               |+--------------------------------------+| 44089d46-be85-11e4-b8a8-74d02bb8a8e9 |+--------------------------------

ios 下两种生成唯一字符串的方法

CFUUIDRef uuidRef =CFUUIDCreate(NULL); CFStringRef uuidStringRef =CFUUIDCreateString(NULL, uuidRef); CFRelease(uuidRef); NSString *uniqueId = (__bridgeNSString *)uuidStringRef;

【Python】 uuid生成唯一ID

uuid uuid是128位的全局唯一标识符(univeral unique identifier),通常用32位的一个字符串的形式来表现.有时也称guid(global unique identifier).python中自带了uuid模块来进行uuid的生成和管理工作.(具体从哪个版本开始有的不清楚..) python中的uuid模块基于信息如MAC地址.时间戳.命名空间.随机数.伪随机数来uuid.具体方法有如下几个: uuid.uuid1() 基于MAC地址,时间戳,随机数来生成唯一的u

PHP 生成随机字符串与唯一字符串

说明:生成随机字符串用到的方法有 mt_rand() 生成唯一字符串用到的方法有 md5(),uniqid(),microtime() 代码: 1 <?php 2 /* 3 * 生成随机字符串 4 * @param int $length 生成随机字符串的长度 5 * @param string $char 组成随机字符串的字符串 6 * @return string $string 生成的随机字符串 7 */ 8 function str_rand($length = 32, $char =

PHP生成随机或者唯一字符串

本文出至:新太潮流网络博客 /** * [生成随机字符串] * @E-mial [email protected] * @TIME 2017-04-07 * @WEB http://blog.iinu.com.cn * @param integer $length [生成的长度] * @param integer $type [生成的类型] * @return [type] str [description] * @php 随机码类型:0,数字+大写字母:1,数字:2,小写字母:3,大写字母:4

生成随机字符串的几种常用方式

写在前面 今天在学习数据库的时候想随机生成一些数据来插入到数据表中,但是一时想不起来如何生成随机内容,就整理了之前学过的一些生成随机字符串的命令,以备不时之需,希望对各位有所帮助. 生成随机字符串的几种方式 1,利用系统变量RANDOM生成随机数 [[email protected] ~]# echo $RANDOM  生成随机数 [[email protected] ~]# echo $((RANDOM%100+1)) 生成1-100内的随机数(取余法) 2,利用openssl生成随机字符串,

python使用uuid库生成唯一id

概述: UUID是128位的全局唯一标识符,通常由32字节的字符串表示. 它可以保证时间和空间的唯一性,也称为GUID,全称为: UUID -- Universally Unique IDentifier Python 中叫 UUID GUID -- Globally Unique IDentifier C# 中叫 GUID 它通过MAC地址.时间戳.命名空间.随机数.伪随机数来保证生成ID的唯一性. UUID主要有五个算法,也就是五种方法来实现: 1.uuid1()--基于时间戳 由MAC地址