首页 > 编程知识 正文

hash算法的特点,Hash算法有

时间:2023-05-05 13:56:30 阅读:278102 作者:1

HASH算法

概念:一般翻译做“散列”,就是把任意长度的输入通过散列函数变化成固定长度的输出,该输出就是散列值。
散列的空间通常远远小于输入的空间,不同的输入会散列城相同的输出(散列冲突)。

优秀hash特点: 正向快速逆向困难输入敏感(输入一点改动,输出也会不一样)冲突避免 应用:

数据结构
-对于数据空间的组织,散列开来,建立快速映射的关系,往往数据的插查询,插入,删除都比较迅速。接近于O(1)。

密码学的应用:

用户密码的加密搜索引擎版权数字签名 常见加密hash函数:

-md5 -SHA1/256/512 -HMAC

MD5: 直接加密

不足:不够安全了,可以反查询
加盐: 盐是固定的,写死在程序里面,一旦泄露就不安全了。
解决:加盐 - 足够长足够复杂 静态函数

HMAC 使用密钥加密,并且做两次散列,实际开发中,密钥来自于服务器(动态的一个账号对应一个key,而且还可以更新。APP 登录安全,保证每次登陆发送给服务器的数据是动态的–加上时间戳(随时做时间校验),客户端生成一个hash值(hmax哈希值),注册的时候,服务器保存了一份,(用来加密)现在先找服务器请求时间戳,在进行一个md5,生成一个hash值,服务器校验自己的
登陆安全至上 用户的手机 用户密码加密 搜索引擎

对应 关键字md5 -s 按位相加 hash值权重的消息搜索关键词

版权

压缩一下文件的hash判断的 文件完整性 上传资料

数字签名 对原始数据进行HASH使用RSA加密HASH值(这部分数据就是原始数据的签名信息)将原始数据+数字签名一起发给服务器验证
然后两个端进行比对hash值是否一致,判断数据是否被篡改 对称加密算法

两种加密方式

ECB:电子密码本,每一块数据独立加密CBC:链式加密,每一块数据加密都依赖上一块数据,有效的保证了数据的完整性
通过密钥加解密,安全系数没有RSA高。 密钥保护
常见算法: DES(用得少) 3DES AES 高级密码标准
使用两种方式命令 xxd 查看对应文件
现代密码学 算法几何! 圆 球 推荐阅读数学之美
DES(ecb ) AES(ecb)

直接使用CCCypte作为逆向开发还是有很多安全隐患的,无论是包装还是使用一层, 要继续加强,加符号断点 系统函数也是可以拦截到的

register read 64 p (char*)

使用加密函数安全隐患
加密之前:不能直接使用,没有什么东西拿不到,只读取内存也是可以改的。让逆向变得更加难,参数是可以拿到的,所以直接拿到加密前的数据了。
系统加密函数,函数名都是确定的。 学习反汇编,逆向分析是一段一段的分析函数的调用:看关键字,看方法调用,使用之前写一点自己的逻辑:异常也是非常常用的。

1.HASH特点:

不可逆(关键),数据指纹(数据验证)
运用:密码(直接用md5不好,肯定不可以 不可以反算,但可以查库(同样的数据,结果一样),MD5+加盐(不要使用固定盐)、HMAC加密方案:通过动态Key来加密数据、时间戳:更加灵活,保证加密的结果每次不同 ) 搜索引擎关键字 数字签名(HASH+RSA)
密码: 服务器不需要知道用户真实密码,只需要匹配HASH值
2.对称: DES 3DES AES
明文(秘钥)加密密文
密文(秘钥)加密明文
加密方式: ecb(电子密码本块)&cbc(iv 加密算法都喜欢结合几何)更安全(链:每一块数据依赖前一块数据)
终端openSSL 演示 代码:函数 CCCrypt函数 11个函数
安全问题: 不能直接用 加密之前对数据本身做一个处理

两个原则:

1.网络上不允许明文传递信息!
2.本地不允许明文保存用户隐私信息!
源码泄露了,用户的真实密码也没有泄漏(担当不起) 现在没有找回密码了,直接重置。

2分快三计划。让逆向变得更加难,参数是可以拿到的,所以直接拿到加密前的数据了。
系统加密函数,函数名都是确定的。 学习反汇编,逆向分析是一段一段的分析函数的调用:看关键字,看方法调用,使用之前写一点自己的逻辑:异常也是非常常用的。

1.HASH特点:

不可逆(关键),数据指纹(数据验证)
运用:密码(直接用md5不好,肯定不可以 不可以反算,但可以查库(同样的数据,结果一样),MD5+加盐(不要使用固定盐)、HMAC加密方案:通过动态Key来加密数据、时间戳:更加灵活,保证加密的结果每次不同 ) 搜索引擎关键字 数字签名(HASH+RSA)
密码: 服务器不需要知道用户真实密码,只需要匹配HASH值
2.对称: DES 3DES AES
明文(秘钥)加密密文
密文(秘钥)加密明文
加密方式: ecb(电子密码本块)&cbc(iv 加密算法都喜欢结合几何)更安全(链:每一块数据依赖前一块数据)
终端openSSL 演示 代码:函数 CCCrypt函数 11个函数
安全问题: 不能直接用 加密之前对数据本身做一个处理

两个原则:

1.网络上不允许明文传递信息!
2.本地不允许明文保存用户隐私信息!
源码泄露了,用户的真实密码也没有泄漏(担当不起) 现在没有找回密码了,直接重置。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。