我有输入字符串参数id,它可能是任意长度(通常在4-10个符号范围内,有几百万个符号)。我的要求是基于这个参数(对于同一个id应该是相同的字符串)生成字符串,base64解码表示的字符串正好有32个字节。下面是:
str = generate(id)
len(base64.b64decode(str)) == 32
def generate(id) = ???
因此,我猜生成必须返回64编码的值。
有什么想法吗?我使用python2.7。
谢谢
发布于 2018-04-06 23:26:30
如果没有2个id
可以从generate
生成相同的结果,这是不可能的。(如果该约束不起作用,则可以始终返回相同的字符串,而不管是什么id
。)
有一个限制,多少不同的字符串有确切的32个字符的base64解码。对于这个函数应该工作的id
的多少不同值,您没有设置任何限制。因此,必须至少有两个id
,generate
将返回相同的值。
https://stackoverflow.com/questions/49702145
复制相似问题