我正在我的应用程序中实现串行密钥功能。用户需要输入至少64位数才能注册该应用程序。因为输入数字如9,223,372,036,854,775,807需要一段时间我想压缩一下。第一个猜测是以十六进制编码这个数字,但它仍然很长(0x7FFF FFFF FFFF FFFF)。
.NET中是否有任何标准方法可以使用例如数字,大写和小写字符的字母数字来编码此数字?
答案 0 :(得分:3)
Base 64可能就是你想要的。它允许所有大写和小写字符,以及两个符号字符(+和/)
Convert.ToBase64String会将数字转换为字符串 Convert.FromBase64String将字符串转换回数字。
或者,如果您只想要大写字符(和数字2-7),那么您可以使用Base32,但在.net中没有本机实现。这里有一些进一步的信息:Base32 Decoding
答案 1 :(得分:1)
如果要在项目中添加串行密钥功能,那么在部署期间可以添加串行密钥。这是.NET添加密钥的标准方法。创建新的部署项目并在该项目中添加用户界面编辑器。然后在其中添加客户信息窗口。然后在它的属性中你可以把你想要的任何模式作为aplha数字或只有数字。我在博客中提到的详细步骤你可以参考它from here。