• 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)
    
  • 相关阅读:
    loadrunne-- Analysis 分析器
    Fiddler抓包工具详细介绍
    在 Windows 10 x64 上安装及使用 ab 工具的流程
    Ab工具基本使用
    ab压测返回结果解析
    VMware Workstation 14 Pro永久激活密钥
    通用接口测试用例设计
    线段树の二 区间乘+区间加
    线段树の一 区间和
    C++位运算
  • 原文地址:https://www.cnblogs.com/xinzaiyuan/p/12383049.html
Copyright © 2020-2023  润新知