国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python實現的HMacMD5加密算法示例

Python實現的HMacMD5加密算法示例

2021-01-27 00:21開心果汁 Python

這篇文章主要介紹了Python實現的HMacMD5加密算法,簡單說明了HMAC-MD5加密算法的概念、原理并結合實例形式分析了Python實現HMAC-MD5加密算法的相關操作技巧,,末尾還附帶了Java實現HMAC-MD5加密算法的示例,需要的朋友可以參考下

本文實例講述了Python實現的HMacMD5加密算法。分享給大家供大家參考,具體如下:

什么是 HMAC-MD5?

1、比如你和對方共享了一個密鑰K,現在你要發消息給對方,既要保證消息沒有被篡改,又要能證明信息確實是你本人發的,那么就把原信息和使用K計算的HMAC的值一起發過去。對方接到之后,使用自己手中的K把消息計算一下HMAC,如果和你發送的HMAC一致,那么可以認為這個消息既沒有被篡改也沒有冒充。

2、MD5就是通過散列對要輸出的數據進行摘要,接收到數據時,再同樣進行MD5散列,與給定的MD5散列值比較,一致不一致就很清楚了。通常來說,傳輸的數據和MD5是不同的渠道給出的,比如網頁上顯示MD5,下載鏈接是某個鏡像網站的。如果要通過同一個渠道發送數據和散列值的話(比如消息認證碼),就要考慮數據和MD5同時被篡改的問題,如果第三方修改了數據,然后進行MD5散列,并一塊發給接收方,接收方并不能察覺到數據被篡改。HMAC-MD5就可以用一把發送方和接收方都有的key進行計算,而沒有這把key的第三方是無法計算出正確的散列值的,這樣就可以防止數據被篡改。

python 版:

?
1
2
3
4
5
6
7
8
9
10
11
12
#coding:utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import hmac
import hashlib
####################設置Key值##############
ekey = 'laidefa'
###############輸入數據############
to_enc = '{"name":"zhangsan"}'
enc_res = hmac.new(ekey, to_enc, hashlib.md5).hexdigest()
print enc_res

輸出結果:

"D:\Program Files\Python27\python.exe" D:/PycharmProjects/learn2017/hmacmd5.py
2cbb94ce78b35e4030851c4d40dacf12
Process finished with exit code 0

java版:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package tom;
import java.security.MessageDigest;
import javax.crypto.KeyGenerator;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
/**
* 基礎加密組件
* @version 1.0
*/
public class Hmacmd5 {
  /**
   * MAC算法可選以下多種算法
   *
   * <pre>
   * HmacMD5
   * HmacSHA1
   * HmacSHA256
   * HmacSHA384
   * HmacSHA512
   * </pre>
   */
  public static final String KEY_MAC = "HmacMD5";
  /**
   * HMAC加密
   *
   * @param data
   * @param key
   * @return
   * @throws Exception
   */
  public static byte[] encryptHMAC(byte[] data, String key) throws Exception {
    SecretKey secretKey = new SecretKeySpec(key.getBytes(), KEY_MAC);
    Mac mac = Mac.getInstance(secretKey.getAlgorithm());
    mac.init(secretKey);
    return mac.doFinal(data);
  }
  /*byte數組轉換為HexString*/
  public static String byteArrayToHexString(byte[] b) {
    StringBuffer sb = new StringBuffer(b.length * 2);
    for (int i = 0; i < b.length; i++) {
     int v = b[i] & 0xff;
     if (v < 16) {
      sb.append('0');
     }
     sb.append(Integer.toHexString(v));
    }
    return sb.toString();
   }
  public static void main(String[] args)throws Exception{
    String inputStr = "{\"name\":\"zhangsan\"}";
    byte[] inputData = inputStr.getBytes();
    String key = "laidefa";
    System.out.println(Hmacmd5.byteArrayToHexString(Hmacmd5.encryptHMAC(inputData, key)));
  }
}

輸出結果:

2cbb94ce78b35e4030851c4d40dacf12

希望本文所述對大家Python程序設計有所幫助。

原文鏈接:https://blog.csdn.net/u013421629/article/details/78355711

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美日韩免费 | 成人在线免费观看视频 | 精品视频一区二区三区四区 | 日韩色区 | 成人免费观看高清视频 | 成人在线视频观看 | 激情在线视频 | 日本 欧美 国产 | 91精品国产综合久久久久 | 免费观看爱爱视频 | 中文字幕日产乱码六区小草 | 成人高清视频在线观看 | 久久精品1区 | 羞羞网站在线观看 | 热久久国产 | 伊人色综合网 | 国产伦精品一区二区三区照片91 | 国产日韩欧美在线 | 亚洲福利在线观看 | 国产精品久久久 | 国产资源视频在线观看 | 黄色综合 | 欧美第一网站 | 亚洲人成在线播放 | 中文字幕亚洲一区二区三区 | 久久九| 日本视频一区二区 | 久久九九免费 | 亚洲网色 | 日韩成人影院 | 亚洲激情av| 久久亚洲综合 | 免费簧片 | 成人午夜毛片 | 波多野结衣先锋影音 | 久久免费精品一区二区三区 | 老司机av导航 | 免费视频二区 | 超碰一区二区三区 | 欧美成人影院 | 黄a视频 |