gpt4 book ai didi

c# - 散列密码 - 在 SQL Server 中存储为 base 64 字符串与存储为 varBinary

转载 作者:行者123 更新时间:2023-12-02 22:09:57 33 4
gpt4 key购买 nike

我有一个哈希密码要存储在我的 SQL Srever 数据库中

不确定是否在存储之前将其转换为 base 64 字符串,或者是否将其存储为 varbinary

如果它是 base 64,那么在我的 C# 中处理起来会更容易,但我不确定这种方法是否有缺点。

最佳答案

使用 Base 64 没有安全缺陷,因为它只是二进制数据的一种不同表示,只要您不认为 Base 64 增加了一层安全性。由于 Base 64 很容易被任何人解码(因为它不使用 key ),它不是安全层,而只是一种不同的格式。我强调这一点是因为我已经看到很多由于使用 Base 64 来混淆敏感数据而导致的漏洞。数据很容易被攻击者恢复(在这种情况下是我。别担心,这是在学术界的安全类(class);-))。所有敏感数据都应使用来自服务器的 key 进行加密。

我自己更喜欢使用 Base 64,因为它可以很容易地作为字符串进行处理。我总是在加密后将二进制数据转换为 Base 64。

正如评论中提到的explunit,它会稍微减慢你的算法。然而,通过花费周期转换为 Base 64 来减慢算法实际上对安全性有利,因为它使暴力加密攻击对攻击者来说不太可行。

关于c# - 散列密码 - 在 SQL Server 中存储为 base 64 字符串与存储为 varBinary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15498543/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com