如何通过向每个包含字符添加示例char(65)来加密文本框?
示例如果我的文本框包含单词hello,我想添加H + char(65),e + char(67)..等等。
我希望获得某种串行密钥。
我正在使用此代码将随机值带入文本框。
Guid g = Guid.NewGuid();
string GuidString = Convert.ToBase64String(g.ToByteArray());
GuidString = GuidString.Replace("=", "");
GuidString = GuidString.Replace("+", "");
GuidString = GuidString.Replace("/", "");
textBox1.Text = GuidString;
所以从这段代码开始,我的客户端将使用此序列密钥.U3h2FfzjSkeS47XFSyZmQ
所以我想创建一个能够将此序列密钥转换为其他字符的exe。 因此,如果我的客户要求我提供连续密钥,他必须给我这个已经exe给他的序列号,然后把它转发给他,当它将它粘贴到他的exe中以便注册他的产品时。
答案 0 :(得分:1)
您应该遍历每个字符串字符并为其添加相应的值。您只需添加一个数字,然后将值转换为char。我希望它不会处理项目中任何与加密相关的功能。
string stringToEncode = "Hello";
string encodedString = "";
for (int i = 0; i < stringToEncode.Length; i++)
encodedString += (char)(stringToEncode[i] + 65);
串行代码主要由数字,大写和小写字母以及有时短划线组成。这意味着每个字符的结果值必须符合ASCII表中的一个指定范围:
解决方案似乎并不优雅,但您必须为字符实现自己的映射(0代表a,1代表b ... 25代表z,依此类推)然后将其映射到ASCII {{3}而不是检查任何一对字符A和B(A + B)是否具有有效值。这样你的+操作后跟%[字母表的长度]将始终产生一个有效值,因为它将是character codes