HMAC 算法是什么
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇文章为大家展示了HMAC 算法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。用途HMAC 算法主要用于身份验证,用法如下:客户端发出登陆请求服务器返
千家信息网最后更新 2025年01月24日HMAC 算法是什么
本篇文章为大家展示了HMAC 算法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
用途
HMAC 算法主要用于身份验证,用法如下:
客户端发出登陆请求
服务器返回一个随机值,在会话中保存这个随机值
客户端将该随机值作为密钥,用户密码进行hmac运算,递交给服务器
服务器读取数据库中的用户、密码,利用密钥做和客户端一样的hmac运算,然后与用户发送的结果比较,如果一致,则用户身份合法
好处是,即使黑客截获了我们发送的数据,也只是能得到hmac加密过后的结果,由于不知道密钥,根本不可能获取到用户密码,从而保证了安全性。
HMAC的种类
算法种类 摘要长度HmacMD5 128HmacSHA1 160HmacSHA256 256HmacSHA384 384HmacSHA512 512
HMAC的使用
如果要使用HMAC算法,需要生成一个密钥。
比如可以用JDK 自带的keyGenerator。
public static byte[] getSecretKey() throws Exception { KeyGenerator keyGenerator = KeyGenerator.getInstance("HmacMD5"); // 可填入 HmacSHA1,HmacSHA256 等 SecretKey key = keyGenerator.generateKey(); byte[] keyBytes = key.getEncoded(); return keyBytes; }
得到密钥后,就可以执行消息摘要算法。
public static String encryptHmac(byte[] key, byte[] data) throws Exception { SecretKey secretKey = new SecretKeySpec(key, "HmacMD5"); Mac mac = Mac.getInstance("HmacMD5"); mac.init(secretKey); byte[] resultBytes = mac.doFinal(data); String resultString = byteToHexString(resultBytes); return resultString;}
上述内容就是HMAC 算法是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
算法
密钥
用户
客户
客户端
密码
服务器
服务
内容
技能
摘要
数据
知识
种类
结果
身份
运算
合法
简明
一致
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
估算软件开发错误个数
网络安全法对高校的要求
打印数据一直显示无法连接数据库
桓台考勤管理oa软件开发公司
临汾公安局网络安全
通信网络安全法律读后感
跨机房调用数据库效率
软件开发中的瀑布
深圳dna数据库比对嫌疑人
网络安全顺口溜六句的
棋牌开发软件开发商
数据库登录时间设置
崇明区品质软件开发包括什么
自动化控制仿真软件开发
崇明区大型网络技术服务
网上商城软件开发的DFD图
重要节点网络安全
了解最新的网络技术要定什么杂志
国家设立网络安全法的目的是什么
亚马逊数据中心网络安全
网络安全的温馨提醒
美国网络安全案例
x86服务器公司排名
贵阳华创云软件开发部
arcsed数据库建立
苏州c语言软件开发价位
服务器风扇很响
戴尔服务器 e1629
宿城区个性化网络技术价格查询
网络安全上市的公司