Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用字符串对电子邮件地址进行编码和解码_C#_.net_Encryption_Encoding - Fatal编程技术网

C# 使用字符串对电子邮件地址进行编码和解码

C# 使用字符串对电子邮件地址进行编码和解码,c#,.net,encryption,encoding,C#,.net,Encryption,Encoding,我有一个长度为24个字符的字符串。这是我们提供给客户用于安装软件的产品id。我需要从这个字符串中获取电子邮件地址。我需要用这个字符串对电子邮件地址进行编码并解码。有没有可能做到这一点 我尝试将电子邮件地址转换为字节数组,并使用产品id字节数组添加该地址。但似乎产品id长度增加太多,解锁密钥长度不是标准格式。请帮我解决这个问题。因为电子邮件地址可以超过24个字符,所以这是不可能的。(简单地说,您不能将X字节的信息编码为Y

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


我尝试将电子邮件地址转换为字节数组,并使用产品id字节数组添加该地址。但似乎产品id长度增加太多,解锁密钥长度不是标准格式。请帮我解决这个问题。

因为电子邮件地址可以超过24个字符,所以这是不可能的。(简单地说,您不能将X字节的信息编码为Y 我建议采用不同的方法

在您的办公室:

  • 在授权数据库中,存储客户的电子邮件地址
  • 根据电子邮件地址和一些秘密值计算哈希代码。这是您的激活码(您称之为“产品ID”)
在客户的PC上:

  • 在安装过程中,让客户输入其电子邮件地址和激活密钥
  • 让安装程序计算输入的电子邮件地址(加上密码)上的哈希值,并将其与激活密钥进行比较。如果匹配,一切正常。如果没有,则显示一个错误
这允许您保持激活代码的简短,因为您只需要嵌入电子邮件地址的散列。当然,由于散列函数是不可逆的,因此不能从散列中重新创建电子邮件地址;因此,在安装过程中需要输入电子邮件地址