SQL 中的MD5,SHA256、sm3加密
工作中经常遇到敏感数据的交互,这就需要到加密,本次就记录一下常见的几种加密方式
一、MySQL
SHA256
SELECT SHA2("123",256)
查询结果
MD5
select md5("123")
查询结果
二、HIVE
SHA256
SELECT SHA2("123",256)
查询结果
MD5
select md5("123")
查询结果
函数和结果都与MYSQL一致
三、Python
SHA256
import hashlib # 1、待加密的字符串 str = '123' # 2、实例化一个sha256对象 sha256 = hashlib.sha256() # 3、调用update方法进行加密 sha256.update(str.encode('utf-8')) # 4、调用hexdigest方法,获取加密结果 print(sha256.hexdigest())
封装成函数
import hashlib def sha256_jiami(x): ''' Parameters ---------- x : string 需要加密的字符串. Returns ------- 字符窜加密后的字符 ''' sha256 = hashlib.sha256() sha256.update(x.encode('utf-8')) return sha256.hexdigest() sha256_jiami('123')
MD5
import hashlib need_md5='123' md = hashlib.md5(need_md5.encode()) print(md.hexdigest()) # 单纯的MD5加密
封装成函数
import hashlib def md5_jiami(x): ''' Parameters ---------- x : string 需要加密的字符串 Returns ------- 字符串加密后的字符 ''' md = hashlib.md5(x.encode()) return md.hexdigest() # 单纯的MD5加密 md5_jiami('123') #'202cb962ac59075b964b07152d234b70'
sm3加密
MySQL无法进行sm3加密,需要Python工具
import hashlib def sm36_jiami(x): ''' Parameters ---------- x : string 需要加密的字符串. Returns ------- 字符窜加密后的字符 ''' # 创建SM3对象 sm3 = hashlib.new('sm3') sm3.update(x.encode('utf-8')) return sm3.hexdigest() sm36_jiami('Hello, World!')
可与config.net.cn/tools/SM3.html 对比加密是否正确
分类:
SQL
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人