Keo*_*oki 1 asp.net-mvc bcrypt
我有一个 Web 应用程序 (asp.net mvc),我需要加密一些将存储在数据库中的数据。由于我使用 BCrypt 作为用户密码,我正在考虑使用它来加密其他数据……你怎么看?BCrypt 仅用于密码还是我也可以将其用于其他数据?或者也许有最好的方法来做到这一点?
提前致谢!
BCrypt 不加密任何东西。它是一种在内部使用 Blowfish 的 HASHING 算法,但实际上并不加密您的数据。
主要区别:
散列是一种算法,它采用可变大小的数据并生成该数据的固定大小表示。除非存储在其他地方,否则原始数据将丢失且无法检索。
加密是一种算法,它采用可变大小的数据并生成类似大小的数据块。原始数据,除非存储在其他地方(从而使加密目的无效),否则将丢失。然而,它可以被检索。加密过程使用称为Key的单独数据。如果使用相关的解密算法,则相同的密钥将解密数据并可以检索原始信息。
所以:
在任何人回答您的问题之前,您必须首先了解您在问什么。事实上,您是否需要存储加密信息,或者更确切地说是散列信息?如果您只需要存储敏感信息,但从不需要将原始值返回给用户,那么继续使用 BCrypt,因为它会散列您的数据(从而使其不可读,但仍然具有可比性)。另一方面,如果您想存储一天可能需要提供给某人的敏感信息(例如,信用卡号),那么请查看 sql加密算法。
当您探索安全世界时,您会很快发现它非常痛苦,但非常重要。例如: SLaks 提出了一个好观点。如果你加密你的数据,在某个地方,你需要存储你的密钥。但是,如果找到该密钥,则有人可以窃取您的所有数据!您必须找到一种方法来正确加密您的数据,同时向公众隐藏密钥。有几种方法可以做到这一点;在你承诺之前先谷歌一下,因为它可能不像你想象的那么安全。
微软有一些很好的建议:http : //technet.microsoft.com/en-us/library/ms345262.aspx
您没有指定您使用的 sql 的风格,因此无法提供特定风格的答案。
| 归档时间: |
|
| 查看次数: |
812 次 |
| 最近记录: |