用于解密SQLite字段中数据的C#代码
一名合伙人被解雇,没有留下源代码。我们有一个sqlite数据库,其中一个字段是加密的。我们已经解决了加密问题,它只是以随机方式替换字母,并且区分大小写(几乎像凯撒密码): 这是我们的密码:用于解密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
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)];