简单加密/解密数据库存储

时间:2014-03-06 01:32:12

标签: c# database encryption

我一直在寻找一个简单的加密/解密类,用于在数据库中存储信息。麻烦的是我不知道我在一半时间看的是什么,所以我真的不知道我发现的东西是否真的值得为我需要的东西实现,无论是过于复杂还是太容易破解。

我脑子里有一点冲进去,我的第一个思想训练导致了ACII价值观的一个简单的“切换,添加,乘法”键,但我认为在看到加密后看起来真的不值得课程实际上是。

基本上我正在寻找一个密钥来加密存储上的任何和所有数据(包括表名和列名),并在撤销时解密。但就像我说的那样,不需要太复杂,但如果有人 希望访问数据,他们必须得到它哈哈。

任何人都可以建议一个好的链接/提供一个简单的课程,我正在寻找什么?它可能是我以前找到的东西,但就像我说的那样,我对于我正在寻找的东西一直没有那么微弱

提前致谢!

抢先编辑我知道有些数据库有自己的加密/解密方法,但我认为这是实现它的最简单方法,因为我将使用多个不同的数据库程序。

1 个答案:

答案 0 :(得分:2)

AES 256(尽管可能有点过分)是一种非常安全的加密算法。 Microsoft在System.Security.Cryptography中提供了一个实现,MSDN的示例是一个很好的入门点。

我已经将它用于数据库加密,它运行得很好。

由于您说您不熟悉加密,我将尝试触及加密的功能,但不会为您做。加密采用普通数据(即(“我的私有字符串”))并将其转换为随机数据(字节串),只有通过知道私钥(在AES 256中)才能实现。数据,因为单元格之间不同,可能私有/重要信息是加密的好东西。

您的数据库架构是常量,因此加密在这里只是极少用。调用表“Names”和“A”以及“oiaeoriuojdklfjsad”(最后一个例子是“加密”)之间的区别很小。这就是“混淆安全”的含义。您可能会争辩说,选择一个随机名称比描述一个名称稍微安全一些,但实际上只是在您尝试使用它时会让您感到困惑,而黑客真正想要的“黄金”就是数据。如果它与一个好的加密算法相悖,那么知道它是什么类型的数据并没有真正帮助。