**摘 要:**HMAC-SHA1是一种安全的基于加密 hash函数和共享密钥的消息认证协议,它可以有效地防止数据在传输的过程中被截取和篡改,维护了数据的完整性、可靠性和安全性。HMAC-SHA1消息认证机制的成功在于一个加密的 hash函数、一个加密的随机密钥和一个安全的密钥交换机制。本博客目前不涉及其加密的数学知识,也不涉及到其中的加密原理,只是实现了Java语言实现加密的方式。随着以后知识的深入,再继续的补充过来。

  • Java 加密代码:
public static String hamcsha1(byte[] data, byte[] key)
{try {SecretKeySpec signingKey = new SecretKeySpec(key, "HmacSHA1");Mac mac = Mac.getInstance("HmacSHA1");mac.init(signingKey);return byte2hex(mac.doFinal(data));} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (InvalidKeyException e) {e.printStackTrace();}return null;}
  • 然后我们再将加密后的字节数组转换成一个字符串:
//二行制转字符串
public static String byte2hex(byte[] b)
{StringBuilder hs = new StringBuilder();String stmp;for (int n = 0; b!=null && n < b.length; n++) {stmp = Integer.toHexString(b[n] & 0XFF);if (stmp.length() == 1)hs.append('0');hs.append(stmp);}return hs.toString().toUpperCase();
}

  最后当我们写好了代码之后还需要测试一下我们加密代码是否正确,这里我这是设置加密内容位:123456,加密的密钥为:12345678,最后得到的加密结果是:8fcfc2d7e51f5b502ad1b2270e885e29a7bb81df,然后我们跟在线加密网站(http://encode.chahuo.com/)上加密后的内容进行比对一下,看看我们的加密结果是否和网站的一样。

Java HMAC-SHA1加密算法的实现相关推荐

  1. SHA1加密算法(java实现)

    SHA1加密算法 SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用.该算法的思想是接收一段明文,然后以一种不可逆的方式将它转 ...

  2. java sha1_java使用SHA1加密算法详解

    java使用SHA1加密算法程序源码: //下面四个import放在类名前面 包名后面 import java.io.UnsupportedEncodingException; import java ...

  3. 手写SHA1加密算法(Java版)

    开发微信公众号过程中,需要使用sha1加密算法与微信api对接,特此学习下sha1算法的实现. 1:安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准 (Digital ...

  4. java中各种加密算法的实践应用

    1.前言 数字签名.信息加密是前后端开发都经常需要使用到的技术,应用场景包括了用户登入.交易.信息通讯.oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的签名加密算 ...

  5. java 常用的加密算法及分类

    1.加密算法分类: 按照是否需要key加密解密分类: 不需要key的加密:Base64加密,MD5,SHA1,SHA256 需要key的加密:对称加密算法(AES,DES,3DES) 非对称加密算法( ...

  6. 7、SHA1加密算法

    SHA1加密算法 SHA是一种数据加密算法,该算法经过加密专家多年来的发展和改进已日益完善,现在已成为公认的最安全的散列算法之一,并被广泛使用.该算法的思想是接收一段明文,然后以一种不可逆的方式将它转 ...

  7. iOS sha1加密算法

    最近在项目中使用到了网络请求签名认证的方法,于是在网上找关于OC sha1加密的方法,很快找到了一个大众使用的封装好的方法,以下代码便是 首先需要添加头文件 #import<CommonCryp ...

  8. C语言hmacsha1,在C中执行hmac sha1

    我正在尝试生成Hmac-sha1的一小段代码.我被要求使用用于SHA1计算的OpenSSL库自己编码hmac实现. 后"wiki'ing的算法,这里是我有什么below.I已经使用的输入与R ...

  9. python实现sha1加密算法

    本文主要记录一下 python实现sha1的封装过程. 目录 一.程序源码 二.调用测试 一.程序源码 """ 使用sha1加密算法,返回str加密后的字符串 " ...

  10. JAVA:实现AES 加密算法(附完整源码)

    JAVA:实现AES 加密算法 package com.thealgorithms.ciphers;import javax.crypto.*; import java.security.Invali ...

最新文章

  1. (转)Sublime Text2 快捷键汇总
  2. 大数据处理过程中,如何让Hadoop运行得更快一些?
  3. 前端工程化系列[02]-Grunt构建工具的基本使用
  4. Google 翻译的妙用
  5. LeetCode Arranging Coins
  6. eclipse开发java程序,断点调试
  7. 在python中使用关键字define定义函数_python等价于'define func()'或如何在python中注释掉函数调用...
  8. atcoder 076
  9. 原理图中如何连线_Altium Designer10绘制原理图
  10. Luogu1456 Monkey King
  11. 在wps里面怎么设置触发器_wps触发器怎么设置
  12. 【文摘】《创新者》-沃尔特·艾萨克森
  13. 为什么搜狗输入法显示服务器异常,为什么搜狗拼音输入法一直出现错误报告?...
  14. 淘宝为什么放弃SpringCloud、Dubbo,选择了这个牛逼的神仙框架!贼爽
  15. Java计算某年某月天数_编程计算某年某月某日是该年的第多少天。例如:2016年3月2日是2016的 第62 天。(java)...
  16. HTML的表单及框架
  17. Android中的占位符
  18. 28岁华为员工工资表曝光,牛逼的人注定会牛逼
  19. python ——时间间隔
  20. P9:最大池化的使用

热门文章

  1. 深入浅出富文本编辑器
  2. GitHub的高级搜索方式--找到最想要的源码
  3. Python头部信息的设置
  4. 程序框图与计算机程序,深度解析算法与程序框图.pdf
  5. 五子棋人机大战(Java菜鸟学习笔记)
  6. python 笔记:打开nii格式(nibabel 库)
  7. 作为程序员这些都是必读的书
  8. 【Fluent TUI】如何开启TUI命令的智能提示,如何搜索不知道的TUI命令;代码智能提示、code hinting、command prompt
  9. 解决selenium遇到火狐浏览器自动打开下载文件
  10. html电商app小图标素材,20套购物网站专用的图标素材包