当前位置: 首页 > news >正文

随州制作网站连云港企业网站建设公司

随州制作网站,连云港企业网站建设公司,给网站添加代码,wordpress标签前缀看本文前#xff0c;最好先看看之前的对于MD5算法和SHA算法的介绍。 本文目录定义常见应用场景1、linux客户端#xff1a;SecureCRT2、Google身份验证器3、银联pos机终端原理java实现和使用定义 MAC#xff08;Message Authentication Codes#xff09;#xff0c;是一种…看本文前最好先看看之前的对于MD5算法和SHA算法的介绍。 本文目录定义常见应用场景1、linux客户端SecureCRT2、Google身份验证器3、银联pos机终端原理java实现和使用定义 MACMessage Authentication Codes是一种消息摘要算法也叫消息认证码算法。 这种算法的核心是基于秘钥的散列函数。 可以理解为MAC算法是MD5算法和SHA算法的升级版是在这两种算法的基础上又加入了秘钥的概念更加安全。 所以有时候又叫MAC算法为HMAC算法keyed-Hash Message Authentication Codes即含有秘钥的散列算法。 常见的MAC算法有以下两大类 MD系列HmacMD2、HmacMD4、HmacMD5 SHA系列HmacSHA1、HmacSHA224、HmacSHA256、HmacSHA384、HmacSHA512 大致用法 如下图发送端根据message和一个mac算法生成mac秘钥 将mac秘钥和message同时发送 接收端收到message用同样的mac算法得到mac秘钥 判断自己生成mac秘钥和接收到的mac秘钥是否一致从而判断message是否一致 常见应用场景 mac算法的应用场景相比MD和SHA系列要更为复杂高级一点。 1、linux客户端SecureCRT SecureCRT就用到了MAC算法 2、Google身份验证器 服务提供商为每个用户生成80位的密钥然而RFC 4226 §4要求使用128位并建议使用160位密钥。它以16位、26位或者32位base32的字符串亦或是二维码的方式提供出来。客户端使用此密钥生成HMAC-SHA1。 具体可看维基百科的介绍 3、银联pos机终端 中国银联直联POS终端规范下载链接 主要截图如下 原理 根据RFC 2104HMAC的数学公式为 其中 H为密码散列函数如MD5或SHA-1 K为密钥secret key m是要认证的消息 K’是从原始密钥K导出的另一个秘密密钥如果K短于散列函数的输入块大小则向右填充Padding零如果比该块大小更长则对K进行散列 || 代表串接 ⊕ 代表异或XOR opad 是外部填充0x5c5c5c…5c5c一段十六进制常量 ipad 是内部填充0x363636…3636一段十六进制常量 java实现和使用 import org.apache.commons.codec.binary.Hex;import javax.crypto.KeyGenerator; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException;public class HmacMD5Util {public static void main(String[] args) throws IOException, NoSuchAlgorithmException {System.out.println(encodeString(123));}public static String encodeString(String plainText) throws UnsupportedEncodingException {return encodeBytes(plainText.getBytes(utf-8));}public static String encodeBytes(byte[] bytes) {try { // // JDK的获取秘钥 // byte[] key getKey();// 指定秘钥byte[] key Hex.decodeHex(new char[]{a, b, c, d});SecretKeySpec secretKeySpec new SecretKeySpec(key, HmacMD5);Mac mac Mac.getInstance(HmacMD5);mac.init(secretKeySpec);byte[] b mac.doFinal(bytes); // return Hex.encodeHexString(b);int i;StringBuffer buf new StringBuffer();for (int offset 0; offset b.length; offset) {i b[offset];if (i 0) {i 256;}if (i 16) {buf.append(0);}buf.append(Integer.toHexString(i));}return buf.toString();} catch (Exception e) {e.printStackTrace();}return ;}public static byte[] getKey() throws NoSuchAlgorithmException {KeyGenerator hmacMD5 KeyGenerator.getInstance(HmacMD5);SecretKey secretKey hmacMD5.generateKey();String algorithm secretKey.getAlgorithm();// algorithmHmacMD5byte[] encoded secretKey.getEncoded();return encoded;}} 结果 4b1dd5bb09ae59a17a65168da372c90e
http://wiki.neutronadmin.com/news/166980/

相关文章:

  • 眉县网站建设网站图片如何做超链接
  • 建设执业注册中心网站流行的网站开发框架
  • 网站宽屏图片怎么做网站百度显示绿色官网字如何做的
  • 网上服装定制网站网站开发需要多少钱新闻
  • 网站建设的合理建议wordpress提交工单
  • 做网站用python好吗石家庄关键词排名首页
  • 网站创建多少年了在哪学短视频培训课程
  • 导航网址网站怎么做品牌策划全案公司
  • pxhere素材网站品牌推广和品牌营销
  • 广西城乡住房建设厅网站首页wordpress网站资源
  • 电子商务网站建设好么手机网站二级导航菜单
  • jq特效网站模板用vscode做网站
  • 青岛城阳网站制作东莞网络推广服务商
  • 华为免费企业网站建设深圳网站设计兴田德润信任高
  • 手机网站前端写法电子商务seo是指什么意思
  • 建设网站站点有哪些步骤设计 企业网站
  • 那个网站做logo兼职wordpress编辑文章更新失败
  • 百度投诉电话人工服务总部苏宁网站优化与推广
  • 工业设计网站哪个最小程序商城哪家好些
  • 电子商务网站设计原理实践报告山西省建设执业资格注册中心网站
  • 旅游网站制作百度云注册一个公司需要几个人
  • 做网站是那个语言写的wordpress响应式按钮
  • 网站推广计划书包含哪些内容免费的crm系统推荐
  • 邢台网站设计哪家好网站免费的不用下载
  • 专业零基础网站建设教学服务东莞常平二手房价最新消息
  • 沈阳网站建设培训班石家庄网站建设外贸
  • 重庆企业品牌网站建设合肥营销网站建设
  • 厦门门户网站制作服务商广州东莞网站建设
  • 海口网站运营托管咨询优定软件网站建设
  • 网站建设怎么骗人网站建设360元起全包