Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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
如何在php、c#和其他应用程序中包含/保护md5?_C#_Php_Algorithm_Md5 - Fatal编程技术网

如何在php、c#和其他应用程序中包含/保护md5?

如何在php、c#和其他应用程序中包含/保护md5?,c#,php,algorithm,md5,C#,Php,Algorithm,Md5,我想知道php,c#是如何包含md5哈希的,因为php或c#如何在不知道算法的情况下包含md5哈希系统,以及如何确保算法的安全性,这是否意味着制作c#或php的人知道md5算法?首先,这取决于语言构建中包含的源代码库 其次-MD5是一种单向算法,它不需要安全,没有“密钥”是的,MD5算法是公共的- 任何人都可以用任何语言独立实现它 虽然我不确定您所说的安全是什么意思,但假设您指的是使用md5作为密码散列,md5是不安全的。如果这就是你的计划,请阅读。如果需要对哈希(或加密)算法保密,那么它就不是

我想知道php,c#是如何包含md5哈希的,因为php或c#如何在不知道算法的情况下包含md5哈希系统,以及如何确保算法的安全性,这是否意味着制作c#或php的人知道md5算法?

首先,这取决于语言构建中包含的源代码库


其次-MD5是一种单向算法,它不需要安全,没有“密钥”

是的,MD5算法是公共的-

任何人都可以用任何语言独立实现它


虽然我不确定您所说的安全是什么意思,但假设您指的是使用md5作为密码散列,md5是不安全的。如果这就是你的计划,请阅读。

如果需要对哈希(或加密)算法保密,那么它就不是很好


MD5算法适用于所有人。

加密算法的好处在于,即使您知道它是如何工作的,也无法轻松解密它。这就是为什么大多数加密算法是公开的,至少是c#和php部署的加密算法。但是md5不再是真正安全的了,你最好使用AES。

每个人都说过这一点,但我要补充一点。。。MD5并不意味着“模糊”事物,它实际上是一种“规范化”数据的方法。无论您从什么开始,最终都会得到一个32字符的[thing],表示原始字符串。这是一种极好的方法,可以确保原始字符串是您所期望的。这就是为什么它经常用于比较文件,因为无论文件的原始内容是什么,它仍然可以用32个字符的字符串表示。所以,你的问题的答案是,关键是要确保在所有这些不同的语言中都是相同的算法,这样无论你在哪里将源字符串转换成MD5对应的字符串,都可以得到相同的结果

md5不安全&不意味着tobe@John-任何有用的哈希和/或加密算法都是公共知识。如果使用任何哈希/加密算法,您首先不了解它是如何工作的,那将是一个傻瓜。这意味着该算法必须经过作者以外的其他人的审查。MD5不是加密算法。AES是。他们不是彼此的替代品。