C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C#AES算法 – 我应该在何处以及如何存储密钥和IV大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
PasswordFormat为asp.net会员系统加密时,我使用AES算法加密和解密密码.如果格式为Hashed,则会为每个密码生成唯一的salted值,并将其存储在存储密码的表中的列中.但是对于加密它是不同的我在下面担心

1

如果我为每个密码生成唯一的IV,Key,那么我必须将它们保存在某处.从安全角度来看,这是正确的方法吗?

2

如果我在HardCode IV和Key in application configuration(web.config)文件中那么我将不得不担心当上述任何一对发生变化时会发生什么?我该如何处理这种情况?

3

告诉我你应该做什么的想法.我会把它们放在这里:)

解决方法

回答:

>不,每个密码不需要一个唯一的密钥 – 并且它不会有用,因为你的密钥必须存储在某个地方.您也可以将密码存储在该安全系统中.
>不应将密钥存储在与密码相同的访问条件的同一系统中.这会使加密存储变得徒劳无功.您应该将密钥放在其他位置以防止滥用,并在该系统中执行加密.

你最好选择一个像PBKDF2这样的函数并存储结果.密钥管理是一件棘手的事情,不应该在没有如何处理的情况下选择(如果你这样做就聘请专业人士).

最后,IV的整个想法是,当使用相同的密钥时,它保护纯文本.如果每个纯文本/密文对具有密钥,则可以将IV设置为全零.但是,您可以使用单个密钥,存储在某处保存,以及随密码存储随机IV.

如上所述,如果您已经不知道这一点,那么您的方案是不安全的,因为还有许多其他事情需要虑,而您可能没有.

PS Microsoft有一些方法可以在系统中安全地存储密钥,您可能希望搜索stackoverflow.然而,我不是MS API的专家.

大佬总结

以上是大佬教程为你收集整理的C#AES算法 – 我应该在何处以及如何存储密钥和IV全部内容,希望文章能够帮你解决C#AES算法 – 我应该在何处以及如何存储密钥和IV所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。