这里你可以读到:
64位UID是识别用户的聪明方法,但打印出来时却很烂。18446744073709551616。20个字符!使用base64编码,甚至只是十六进制,可以用相当多的块来减少
但据我所知,如果使用Base64编码,18446744073709551616将产生更大的字符串。我知道我遗漏了一些东西,因为那些记忆中的人很聪明,他们在文档中不止一次提到使用Base64编码可以在将密钥存储到内存中之前使用它来改进密钥。怎么会这样呢?
发布于 2014-06-04 13:00:43
你要看的基本上是64位的十进制表示。他们讨论的可能是直接将底层位编码为Base64或十六进制,而不是编码位的十进制表示。他们基本上只是在谈论字母表的大小。字母表越大,字符串就越短:
64位作为位(字母表为2,0或1)为64个字符
64位小数(字母表为10,0 - 9)为20个字符。
64位十六进制(字母表为16,0 - F)为16个字符
等等。
发布于 2014-06-04 13:00:09
不要像字符串那样威胁UID,而是使用64位的数字表示。它需要64位或8个字节。使用十六进制编码8个字节将产生字符串,如"FF1122EE44556677“- 16字节。使用base64编码,您将得到更短的字符串。
https://stackoverflow.com/questions/24037946
复制相似问题