用于解密 SQLite 字段中数据的 C# 代码

C# code to decrypt data in SQLite field

合作伙伴被解雇,没有留下源代码。我们有一个字段被加密的 sqlite 数据库。我们已经解决了加密,它只是随机替换字母并且区分大小写(几乎像凯撒密码):

这是我们的密码:

Plain:   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 e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9
Cipher:  I O C N E P Z B J T D U S H X Q K W A R V L F M G Y i p n s w a j e o b q f c t r x d y k z h m u g l v 4 3 9 6 1 7 8 5 0 2

这是一个例子:

Plaintext:  My text
Ciphertext: Sl zwgz

你能帮我写一些 C# 代码来解密吗?

提前致谢。

使用字典并使用第一个字符作为键,第二个字符作为值。

Dictionary<char, char> dict = new Dictionary<char, char>();
dict.Add('A', 'I');
dict.Add('B', 'O');
...

char x = 'A';
return dict[x];

或者更好的是,使用字符在字符串中的位置:

string plain = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
string cipher = "IOCNEPZBJTDUSHXQKWARVLFMGYipnswajeobqfctrxdykzhmuglv4396178502";

char x = 'A';
return cipher[plain.IndexOf(x)];

在第二种情况下,通过交换明文和密码可以轻松地转换加密和解密