Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 保护解码算法-SQL或服务器端_Asp.net_Sql_Security_Server Side - Fatal编程技术网

Asp.net 保护解码算法-SQL或服务器端

Asp.net 保护解码算法-SQL或服务器端,asp.net,sql,security,server-side,Asp.net,Sql,Security,Server Side,在给定的数据库表中,登录凭据为: 用户名、密码、解码的ip地址 要验证登录,我需要解码ip地址字符串, 在解码最安全的地方: 1) sql端可编程层 2) 服务器端-在代码层中硬编码 我不关心维护,最重要的是确保解码算法的安全 我发现一篇文章说,如果数据库被黑客攻击或某个人成功连接到它,如果解码算法将在sql端,它将被揭露,因此出于这个原因 若算法将被硬编码,那个么只有在源代码被盗的情况下,它才能被泄露。 你同意吗?你为什么还要使用解码算法?为什么不像世界其他地方那样使用散列(或者更好的:)呢?

在给定的数据库表中,登录凭据为: 用户名、密码、解码的ip地址

要验证登录,我需要解码ip地址字符串, 在解码最安全的地方: 1) sql端可编程层 2) 服务器端-在代码层中硬编码

我不关心维护,最重要的是确保解码算法的安全

我发现一篇文章说,如果数据库被黑客攻击或某个人成功连接到它,如果解码算法将在sql端,它将被揭露,因此出于这个原因 若算法将被硬编码,那个么只有在源代码被盗的情况下,它才能被泄露。
你同意吗?

你为什么还要使用解码算法?为什么不像世界其他地方那样使用散列(或者更好的:)呢?不需要解码,也不需要解码算法。在某些情况下,您可能需要访问纯文本密码,但我对此深表怀疑。依靠你的“算法”来保持“秘密”意味着和一个国产的“加密算法”;这两个都不是一个好主意(事实上:一个大禁忌)。因为解码的ip地址实际上有3个其他需要的文本数据,并且一直在更新……出于安全原因。假设您所说的是真实和正确的:最好的加密算法是众所周知的。再次强调:使用一种依赖于“保密性”的本土加密算法是一个巨大的禁忌。实际的算法永远不需要保密。所有需要保密的是私钥(在大多数情况下)。另请参见。好的,您将密钥保存在哪里?在sql\hardcoded上?假设ASP.Net(从标记中),您可以将密钥保存在Web.Config中。但它可以存储在任何地方,从一个随机文件、注册表、远程主机,甚至可以存储在“保险库”中。以及介于两者之间的任何东西。不管是什么情况,请记住:“一旦你站在密闭舱口的另一边,所有的赌注都将落空”。使用正确的(文件/注册表/任何)权限等,并让操作系统/平台/框架处理其余部分。另见。