美文网首页
hmac-md5加密防破解

hmac-md5加密防破解

作者: huashen_9126 | 来源:发表于2020-04-18 21:04 被阅读0次

普通md5加密,容易被破解,如:

import hashlib

print(hashlib.md5(b'123456').hexdigest())

的结果在https://pmd5.com/
上可以被轻易破解出来

增加一个salt来使得相同的输入也能得到不同的哈希,这样,大大增加了黑客破解的难度。如果salt是我们自己随机生成的,通常我们计算MD5时采用md5(message + salt)。
hmac模块实现了标准的Hmac算法

import hmac, random

def hmac_md5(key, s):
    return hmac.new(key.encode('utf-8'), s.encode('utf-8'), 'MD5').hexdigest()

class User(object):
    def __init__(self, username, password):
        self.username = username
        self.key = ''.join([chr(random.randint(48, 122)) for i in range(20)])
        self.password = hmac_md5(self.key, password)

db = {
    'michael': User('michael', '123456'),
    'bob': User('bob', 'abc999'),
    'alice': User('alice', 'alice2008')
}

def login(username, password):
    user = db[username]
    return user.password == hmac_md5(user.key, password)

assert login('michael', '123456')
assert login('bob', 'abc999')
assert login('alice', 'alice2008')
assert not login('michael', '1234567')
assert not login('bob', '123456')
assert not login('alice', 'Alice2008')
print('ok')

相关文章

  • hmac-md5加密防破解

    普通md5加密,容易被破解,如: 的结果在https://pmd5.com/上可以被轻易破解出来 增加一个salt...

  • 2018-06-01HMAC-MD5加密

    带秘钥的Hmac-MD5加密,在网上找到一个例子。 - (NSString*)LJHMACMD5:(NSStrin...

  • 自己制作的视频课程如何做到防复制防传播

    视频加密软件专门用来保护视频版权,保护视频所有者权益 对视频文件进行高强度逐帧加密,加密后的视频文件具有防逆向破解...

  • 如何破解root口令

    小编简介:如何破解root口令,及加密口令。和破解加密口令。 一,三步破解root口令 流程:启动系统时,设置其运...

  • flutter HMAC加密,MD5加密

    HMAC-MD5比MD5多一个key,我们用到的是对Map加密,所以需要对Map里的字段进行解析拼接trim.da...

  • AES加密解密

    DES加密方式已证实可被破解,客户要求跟换,故采用AES加密

  • 加密狗的攻守之战:加密与解密的较量

    其实作为软件开发者,研究好软件加密的确很重要,不过也很有必要多了解一些关于加密狗解密和破解的知识,加密和破解就像矛...

  • iOS之密码学

    一、非对称加密 - RSA : +公钥加密,私钥解密; + 私钥加密,公钥解密; + 只能通过因式分解来破解 二、...

  • 780QQ美化

    780『极简黑』 01.破解签名验证 02.破解防撤回-完美 03.破解闪照功能 04.破解会员贴表情 05.破解...

  • 有没有爬虫大神,请教个问题。

    破解网站的数据加密。具体私说,有偿也可以

网友评论

      本文标题:hmac-md5加密防破解

      本文链接:https://www.haomeiwen.com/subject/rehavhtx.html