c#中的aes解密

时间:2017-02-10 14:57:42

标签: c# encryption

#include <string.h>

char message[160];  // max size of an SMS
char* text = "Power Outage occured in area of account #: ";
String data;

/*
 *    populate <String data> with data from serial port
 */

/* Copy <text> to message buffer */
strncpy(message, text, strlen(text));

/* Calculating remaining space in the message buffer */
int num = sizeof(message) - strlen(message) - 1;

/* Concatenate the data from serial port */
strncat(message, data.c_str(), num);

/* ... */

error=Sim800l.sendSms(number, message);

所以我为连接到我的数据库的c#创建了这个登录脚本,但是我想知道如何解密数据库,因为我当前的数据库有加密,我希望程序解密它以便我可以回答正确的用户名和密码,但有权访问数据库的人看到随机字符串,提前谢谢

1 个答案:

答案 0 :(得分:1)

通常,您不需要使用AES加密密码并将其解密(如果您正在执行此操作 - 您必须在某处存储AES密钥,这可能是不安全的)。

相反,只需将一些加密哈希函数(例如SHA2)应用于原始密码,并将此哈希值存储在数据库中。

当用户输入密码时 - 您将此哈希函数应用于用户输入的密码,这将为您提供哈希值。 然后,您只是将此哈希值与数据库中保存的哈希值进行比较。

因此,您根本不需要解密密码。