大佬教程收集整理的这篇文章主要介绍了C#AES算法 – 我应该在何处以及如何存储密钥和IV,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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,请注明来意。