'''

引入hmac,hashlib加密模块

'''

import hmac

import hashlib

def jm_sha256(key, value):

'''

sha256加密

return:加密结果转成16进制字符串形式,并大写

'''

hsobj = hashlib.sha256(key.encode("utf-8"))

hsobj.update(value.encode("utf-8"))

return hsobj.hexdigest().upper()

def jm_md5(key, value):

'''

md5加密

return:加密结果转成16进制字符串形式,并大写

'''

hsobj = hashlib.md5(key.encode("utf-8"))

hsobj.update(value.encode("utf-8"))

return hsobj.hexdigest().upper()

def hmac_sha256(key, value):

'''

hmacsha256加密

return:加密结果转成16进制字符串形式,并大写

'''

message = value.encode('utf-8')

return hmac.new(key.encode('utf-8'), message, digestmod=hashlib.sha256).hexdigest().upper()

def hmac_md5(key, value):

'''

hmacmd5加密

return:加密结果转成16进制字符串形式,并大写

'''

message = value.encode('utf-8')

return hmac.new(key.encode('utf-8'), message, digestmod=hashlib.md5).hexdigest().upper()

其中sha256对应的C#加密方法如下

///

/// sha256 加密

///

/// 加密秘钥

/// 待加密的内容

///

public string GetSHA256HashFromString(string strkey,string strData)

{

byte[] bytValue = System.Text.Encoding.UTF8.GetBytes(strkey+strData );

try

{

SHA256 sha256 = new SHA256CryptoServiceProvider();

byte[] retVal = sha256.ComputeHash(bytValue);

StringBuilder sb = new StringBuilder();

for (int i = 0; i < retVal.Length; i++)

{

sb.Append(retVal[i].ToString("x2"));

}

return sb.ToString();

}

catch (Exception ex)

{

throw new Exception("GetSHA256HashFromString() fail,error:" + ex.Message);

}

}

///

/// hmacsha256 加密

///

/// 加密秘钥

/// 待加密的内容

///

public string CreateToken(string secret,string message)

{

var encoding = System.Text.Encoding.UTF8;

byte[] keyByte = encoding.GetBytes(secret);

byte[] messageBytes = encoding.GetBytes(message);

using (var hmacsha256 = new HMACSHA256(keyByte))

{

byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);

StringBuilder sb = new StringBuilder();

for (int i = 0; i < hashmessage.Length; i++)

{

sb.Append(hashmessage[i].ToString("x2"));

}

return sb.ToString();

}

}

mds算法python函数_分享python mds,sha256加密算法,c#对应sha256加密算法相关推荐

  1. python指数运算函数_分享Python中用于计算指数的exp()方法实例教程

    exp()方法返回指数x: ex. 语法 以下是exp()方法的语法:import math math.exp( x ) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math ...

  2. python范例_最佳Python代码范例

    python范例 Python is a general purpose programming language which is dynamically typed, interpreted, a ...

  3. 第一章 第一节:Python基础_认识Python

    Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...

  4. python join函数_一行 Python 代码能实现这么多丧心病狂的功能?

    最近看知乎上有一篇名为<一行 Python 能实现什么丧心病狂的功能?>(https://www.zhihu.com/question/37046157)的帖子,点进去发现一行Python ...

  5. python drop函数_用python帮财务小姐姐自动生成财务报表

    ↑↑↑关注后"星标"简说Python 人人都可以简单入门Python.爬虫.数据分析简说Python严选 来源:python数据分析之禅   作者:小dull鸟 One old w ...

  6. python一些常用函数_【python】常用的一些内置函数

    1.cmp cmp(A,B)函数,比较A,B的大小,如果A大于B,返回1,A小于B返回-1,A等于B返回0 print cmp(12,33) >>>-1 print cmp(&quo ...

  7. python pos函数_使用python+sklearn实现特征提取

    sklearn.feature_extraction模块可用于以机器学习算法支持的格式从原始数据集(如文本和图像)中提取特征.**注意:**特征提取与特征选择有很大不同:前者是将任意数据(例如文本或图 ...

  8. python isalnum函数_探究Python中isalnum()方法的使用

    探究Python中isalnum()方法的使用 isalnum()方法检查判断字符串是否包含字母数字字符. 语法 以下是isalnum()方法的语法: str.isa1num() 参数 NA 返回值 ...

  9. python中的pop函数和append函数_对python中的pop函数和append函数详解

    pop()函数 1.描述 pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. 语法 pop()方法语法: list.pop(obj=list[-1]) 2.参数 obj ...

最新文章

  1. Vue 框架-02-事件:点击, 双击事件,鼠标移上事件
  2. Hadoop详解(三):HDFS完全分布式环境搭建
  3. stm32之spi之NSS管脚信号
  4. Python数据结构与算法--数据类型
  5. Protobuf序列化的原理
  6. 追踪 Kubernetes 中的网络流量
  7. 让8只数码管初始显示零,每隔大约1s加一显示,到数码管显示9后,再从一开始显示
  8. 【Java】基于栈的括号匹配问题
  9. 如何实现共享软件网络授权认证,包括注册新用户、登录、修改密码等操作
  10. 《企业软件交付:敏捷与高效管理精要》——2.2 MyCo公司和MyProj企业软件交付项目...
  11. Pentest Wiki Part4 后渗透(二)
  12. 深入浅出 Kubernetes 架构
  13. scrapy python版本_[python]scrapy框架构建(2.7版本)
  14. python库源码阅读:ddddocr
  15. Mac下的平铺式桌面 - Yabai
  16. asp毕业设计——基于asp+access的会员管理系统设计与实现(毕业论文+程序源码)——会员管理系统
  17. Ubuntu 命令大全 Ubuntu技巧
  18. 蓝牙耳机哪个品牌比较好?盘点四款好用的蓝牙耳机
  19. 被开了!!!!!!!!!!
  20. python turtle画动物_用python画简单的动物

热门文章

  1. linux驱动之可加载模块
  2. VUE3搞一下数据录入
  3. python 图像处理_Python常用库-Pillow图像处理
  4. Hibernate ,Mybatis 区别,以及各自的一级,二级缓存理解
  5. MySQL(一)存储引擎
  6. 正在此计算机上搜索更新,安装用友T3卡在最后一步windows update这里提示正在此计算机上搜索更新没有反应...
  7. .NET Core版本揭秘
  8. python中的update是什么意思_python 字典中的Update()函数
  9. java数组移除对象_如何从Java数组中删除对象?
  10. js原生实现贪吃蛇(解决连续键盘事件)