加密和解密方法

时间:2018-10-17 14:02:14

标签: c# encryption

我正在创建一种算法来加密用户输入的字符串值。 我要如何使它工作,是用户在文本框中键入内容,然后一个按钮将生成一个随机的3位数代码。

我很难拿出代码来匹配用户输入的字符与字母表中的正确位置。

如果用户键入“ abcdt”且其随机代码为324,则其结果将为“ ddggv” 这是它如何工作的视觉效果。

字母-> A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

输入-> A B C D T

代码:324向右移动3个空格= d

代码:324 B向右移动2个空间= d

代码:324 C向右移动4个空格= g

代码:324 D向右移动3个空格= g

代码:324 T向右移动2个空格= V

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

为几乎所有内容(输入,字母,键)制作一个数组。

考虑输入[3],即示例输入中的D。

在输入数组中获取输入索引。 D索引= 3

对该索引进行模运算,并从键数组获取int。 3%3 = 0->键[0] = 3

在字母数组中搜索您的char索引。 D索引= 3

将您之前获得的int添加到该索引。 3 + 3 = 6

检查字母数组的索引6。字母[6] = G

答案 1 :(得分:0)

  

我正在创建一种算法来加密用户输入的字符串值。

除非您仅出于研究目的而这样做,否则我强烈建议您不要这样做。您的方法不太可能是安全的。另外,不清楚为什么需要或需要基于加密值的3位代码。也许您可以解释为什么要这么做?

我建议您已经使用任何经过考验的方法和算法。如果要加密某些用户输入,则有许多方法可以执行此操作。一种方法是使用随机生成的密钥和初始化向量使用AES-256加密值。