混淆、哈希和加密之间有什么区别?
这是我的理解:
- 哈希是一种单向算法;无法逆转
- 混淆与加密类似,但不需要任何“ secret ”即可理解(ROT13 就是一个例子)
- 加密是可逆的,但需要“ secret ”才能实现
最佳答案
散列是一种基于较大数据 block 创建半唯一 key 的技术。在给定的哈希中,您最终会发生“冲突”(例如,两个不同的数据计算出相同的哈希值),并且当发生这种情况时,您通常会创建更大的哈希 key 大小。
混淆通常涉及尝试删除有用的线索(即有意义的变量/函数名称),删除空格以使内容难以阅读,并且通常以令人费解的方式做事以使跟踪正在发生的事情变得困难。它不像“真正的”加密那样提供严格的安全级别。加密可以遵循多种模型,其中一种是“ secret ”方法,称为私钥加密,其中双方都有一个 secret key 。公钥加密使用共享单向 key 进行加密,并使用私有(private)接收者 key 进行解密。使用公钥,只有接收者需要知道 secret 。
关于encryption - 混淆、散列和加密之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/184328/