用字符串编码和解码电子邮件地址

时间:2012-08-09 13:52:15

标签: c# .net encryption encoding

我有24个字符长度的字符串。这是我们提供给客户安装我们软件的产品ID。我要求从此字符串中获取电子邮件地址。我需要使用此字符串对电子邮件地址进行编码并对其进行解码。有没有可能做到的?

我尝试将电子邮件地址转换为字节数组,并将其添加到产品ID字节数组中。但似乎产品ID长度过长,解锁密钥长度不是标准格式。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

由于电子邮件地址可以包含超过24个字符,因此无法进行此操作。 (简单地说,你不能在Y

我建议采用不同的方法。

在你的办公室:

  • 在许可数据库中,存储客户的电子邮件地址。
  • 根据电子邮件地址和一些秘密值计算哈希码。这是您的激活码(您所说的"产品ID")。

在客户的PC上:

  • 在安装过程中,让您的客户输入他的电子邮件地址和激活密钥。
  • 让安装程序计算输入的电子邮件地址(加上秘密)的哈希值,并将其与激活密钥进行比较。如果匹配,一切都很好。如果没有,则显示错误。

这使您可以保持激活码的简短,因为您只需要嵌入电子邮件地址的哈希。当然,由于散列函数不可逆,因此无法从散列中重新创建电子邮件地址;因此,在安装过程中输入电子邮件地址的必要性。