zoukankan      html  css  js  c++  java
  • Django-----加密

    1. Md5加密

    # 加密
    def md5(raw):
        import hashlib
        # md5加密实例化
        md5 = hashlib.md5()
        # 需要的话进行utf8编码
        md5.update(raw.encode('utf8'))
        return md5.hexdigest()
    

    2. sha256加密

    import hashlib
    import random
    import re
    # 封装sha256
    def sha56(raw):
        # 实例化sha256对象
        sha56 = hashlib.sha256()
        # 把要加密的密码,进行update操作并转成utf-8,不写默认是utf-8
        sha56.update(raw.encode('utf-8'))
        # 返回一个sha56的16进制的格式
        return sha56.hexdigest()
    
    
    
    # 加盐,随机盐
    def random_safe(n=5):
        # 定义一个简单的字符串
        str = '23456789abcdefgjkmnpqrestuvwxyz'
        # 定义一个空值,将每次循环的随机数,拼接到ret上。然后返回。
        ret = ''
        for i in range(n):
            # len出字符串的长度,利用下标进行随机抽出。
            ret += str[random.randint(0,30)]
        return ret
    
    
    # 正则验证邮箱
    def check_email(email):
        ret = re.match(r'(w+)@(w+).(w){2,}$',email)
        if ret:
            # 满足条件
            return True
        else:
            # 不满足条件
            return False
    
    # 正则验证密码
    def check_passwd(password):
        pattern = re.match("^(?=.*[a-zA-Z].*)(?=.*[d].*)(?=.*_.*).{6}$",password)
        if pattern:
            return True
        else:
            return False
    

    3. 时间戳封装

    import random
    from datetime import datetime
    def generater_img(ext='pag'):
        # 格式化时间+随机数+文件的后缀名
        return datetime.now().strftime('%Y%m%d%H%M%S') + str(random.randint(10000,99999)) + '.' + ext
    

    4. 删除外键关系

    Django取消级联删除----删除外键关系
    user = models.ForeignKey(User,blank=True,null=True,on_delete=models.SET_NULL)
    并且SET_NULL只有在null为True的时候,才可以使用
    
    # 删除学生外键关系,根据id把相应的数据查询出来后,把外建改成None就OK了
    class Pop_student(APIView):
        def get(self,request):
            mes={}
            id = request.GET.get('id')
            stu = Student.objects.filter(id=id).first()
            stu.teacher_id=None
            stu.save()
            mes['code']=200
            mes['message']='删除成功'
            return JsonResponse(mes)
    
  • 相关阅读:
    将Word,PDF文档转化为图片
    图像识别
    ckeditor_4.5.10_full,ckfinder_aspnet_2.6.2,插件使用
    检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005" 《终结篇》
    wireshark抓包图解 TCP三次握手/四次挥手详解
    经常开发出现bug的同事,
    简单理解Socket
    eclipse下如何配置tomcat
    Windows 7系统安装MySQL5.5.21图解
    Tomcat7.0.22在Windows下详细配置过程
  • 原文地址:https://www.cnblogs.com/xinzaiyuan/p/12383049.html
Copyright © 2011-2022 走看看