我正在开发一个应用程序(iOS和Java),它需要一部分生成序列号以及从用户输入中读取序列号。从长字符串生成序列号
我输出加密的字符串,看起来都一个十六进制数据(长字符串)是这样的:
"397cf2dbcb034c6c8e63120a211a78f1a628cfa2b36692b5efd3aff93219ca9457bde99765eab793a2f2be183082a702"
显然,这是非常困难的用户阅读,并重新键入。我正在寻找一种解决方案来从上面的字符串中生成序列号类型字符串(如:xxxx-xxxx-xxxx-xxxx)。 (我必须能够解码序列号并检索应用程序内部的长字符串)
你的加密字符串有48个字节。我不认为您可以将其转换为16个字母数字字符而不会丢失信息。 – 2013-04-26 09:26:27
确切地说,这是不可能的,因为[鸽子的原理](http://en.wikipedia.org/wiki/Pigeonhole_principle)。 – Jesper 2013-04-26 09:45:20
那么,应该采用什么样的加密来实现呢? – Danialzo 2013-04-26 10:00:39