首页 > 解决方案 > 检查字符串是否只是用 Python 随机生成的

问题描述

检查字符串是否“随机生成”的方法是什么,是否有任何库?例如:

random_string1 = 'gr24gF3fds52'
random_string2 = '111111gr22124gF3fd55425hdhgdhgdhd4565553fd5s52'

这将是一个“正常”字符串:

normal1 = 'this is just a string'
normal2 = 'helo-how-are-you'
normal3 = '452415422542'

所以随机生成的字符串应该是没有任何顺序的字符串,它有数字和字符。它看起来像它的加密。

标签: python

解决方案


“随机”的概念因您的标准而异。但是,如果我对您的理解正确,您想检查它是否已加密/编码/散列。为此,我推荐以下两篇文章:

您可以修改 2nd one's 1st response 以不包括 40 限制的长度。

def is_sha1(maybe_sha):
    try:
        sha_int = int(maybe_sha, 16)
    except ValueError:
        return False
    return True

或者第二个响应的 40 限制为“+”而不是“40”。

\b[0-9a-f]+\b

推荐阅读