Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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
用于解密SQLite字段中数据的C#代码_C#_Sqlite_Encryption_Caesar Cipher - Fatal编程技术网

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

用于解密SQLite字段中数据的C#代码,c#,sqlite,encryption,caesar-cipher,C#,Sqlite,Encryption,Caesar Cipher,一名合伙人被解雇,没有留下源代码。我们有一个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

一名合伙人被解雇,没有留下源代码。我们有一个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];

有了第二种可能性,通过交换普通和密码,轻松实现加密和解密

FYI。一旦所有这些都被解码,您应该切换到使用FIPS兼容的加密算法,如AES256对数据进行加密。如果它值得保护,它实际上应该得到保护。即使不知道密钥,这种类型的替换密码也很容易从中恢复数据。@AntonGogolev使用两个数组,但我认为不是最好的方法。@JamieSee谢谢!好极了!我将尝试第二种可能性:)
string plain = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
string cipher = "IOCNEPZBJTDUSHXQKWARVLFMGYipnswajeobqfctrxdykzhmuglv4396178502";

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