C# 安全问题
这种密码检查算法在低安全性环境(如本地网络)中使用安全吗C# 安全问题,c#,encryption,C#,Encryption,这种密码检查算法在低安全性环境(如本地网络)中使用安全吗 static string keys = "qwertyuiopüõasdfghjklöäzxcvbnmQWERTYUIOPÜÄÖLKJHGFDSAZXCVBNM"; static Int64 key = 0; public static bool check(string input) { string tmp = ""; string encAnswer = "ỬốỒởỐỚ";
static string keys = "qwertyuiopüõasdfghjklöäzxcvbnmQWERTYUIOPÜÄÖLKJHGFDSAZXCVBNM";
static Int64 key = 0;
public static bool check(string input)
{
string tmp = "";
string encAnswer = "ỬốỒởỐỚ";
for (int i = 0; i < input.Length; i++)
{
tmp += keys.IndexOf(input[i]).ToString();
}
key = Int64.Parse(tmp);
string res = "";
char c;
for (int i = 0; i < input.Length; i++)
{
c = input[i];
c = (char)(c ^ key);
res += c;
}
if (res == encAnswer)
return true;
return false;
}
static string keys=“qwertyuiopüasdfghjkläzxcvnmqwertyuiopÜ196Ölkjhgfdsazxcvnm”;
静态Int64键=0;
公共静态布尔检查(字符串输入)
{
字符串tmp=“”;
字符串encAnswer=”ỬốỒởỐỚ";
for(int i=0;i
即使在安全性较低的环境中,您也应该坚持使用哈希算法
注意:您将无法使用哈希算法恢复原始密码
编辑:正如OP所指出的,仅仅使用散列算法是不够的。您必须添加一种盐以使其更难破解。这里可以找到一些示例:您应该坚持使用散列算法,即使在安全性较低的环境中。请看 注意:您将无法使用哈希算法恢复原始密码
编辑:正如OP所指出的,仅仅使用散列算法是不够的。你必须添加一种盐以使其更难被打破。这里可以找到一些例子:它大致相当于公寓门上用作“锁”的一条胶带。如果你的“安全性”很低“要求,你为什么不完全跳过密码检查呢?它大致相当于公寓门上用作“锁”的一条胶带。如果您有“低安全性”要求,为什么不完全跳过密码检查?混淆不是安全性。 你所描述的异或机制是未来痛苦和尴尬的秘诀。您可能应该避免使用它,并使用.NET和Windows平台的内置功能来实现安全性 您所描述的安全方法的问题是,对系统的大多数攻击都发生在组织内部。您觉得应用程序需要密码机制这一事实意味着安全性是一个相关的考虑因素。如果安全确实是相关的,那么为什么选择安全的假象呢?花多一点努力,得到真正的东西 这里有一些理由让你跑完九码:
混淆不是安全性。 你所描述的异或机制是未来痛苦和尴尬的秘诀。您可能应该避免使用它,并使用.NET和Windows平台的内置功能来实现安全性 您所描述的安全方法的问题是,对系统的大多数攻击都发生在组织内部。您觉得应用程序需要密码机制这一事实意味着安全性是一个相关的考虑因素。如果安全确实是相关的,那么为什么选择安全的假象呢?花多一点努力,得到真正的东西 这里有一些理由让你跑完九码:
我刚刚发现,有相当广泛的数据库与哈希代码,所以这使得鲁本斯Farias解决方案对我来说毫无用处
甚至关灯也可能是家里的安全隐患。特别是当窃贼已经破门而入的时候。我刚刚发现有相当广泛的带有哈希代码的数据库,所以这使得Rubens Farias解决方案对我来说毫无用处
甚至关灯也可能是家里的安全隐患。特别是当窃贼已经闯入时。我同意散列方法,但即使在安全性较低的环境中,我也会避免使用MD5,因为现在创建散列冲突非常容易。我会使用SHA-256 Instedi同意散列方法,但即使对于低安全性环境,我也会避免使用MD5,因为现在创建散列方法非常容易