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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | 第一种:base64编码,解码 import base64 a = base64.b64encode(b "123456" ) print (a) #编码 import base64 b = base64.b64encode(b "hello word" ) print (b) #解码 c = base64.b64decode(b 'aGVsbG8gIHdvcmQ=' ) print (c) 第二种:MD5加密 import hashlib #导入hashlib模块 print (hashlib.md5(b '123456' ).hexdigest()) 打印结果:e10adc3949ba59abbe56e057f20f883e 第三种:sha256加密 格式:hashlib.new(name[, data]) import hashlib #导入hashlib模块 h = hashlib.new( 'sha256' ,b "123456" ) print (h.hexdigest()) 第四种: 在dos 下:pip install rsa (先安装rsa模块) 案例 1 : import rsa rsa加密 def rsaEncrypt( str ): (pubkey, privkey) = rsa.newkeys( 512 ) # 生成公钥、私钥 print (pubkey, privkey) content = str .encode( 'utf-8' ) # 明文编码格式 crypto = rsa.encrypt(content, pubkey) # 公钥加密 return (crypto, privkey) rsa解密 def rsaDecrypt( str , pk): content = rsa.decrypt( str , pk) # 私钥解密 con = content.decode( 'utf-8' ) return con str , pk = rsaEncrypt( "hello" ) #print('加密后密文:') #print(str) #print(pk) # content = rsaDecrypt(str, pk) #print('解密后明文:') print (rsaDecrypt( str , pk))<br><br><br><br>拓展: import hashlib ret = hashlib.sha512() #加盐:让密码更复杂 import hashlib ret = hashlib.md5( "加盐" .encode( "utf-8" )) ret.update( "给这个字符串加盐" .encode( "utf-8" )) print (ret.hexdigest())<br> #动态加盐<br>username = input("请输入用户名: ").strip() ret = hashlib.md5(username[:: 2 ].encode( "utf-8" )) ret.update( "给这个字符串动态加盐" .encode( "utf-8" )) print (ret.hexdigest()) #不加盐的 sha 加密 ret.update( "给这个字符串加密" .encode( "utf-8" )) print (ret.hexdigest()) #加盐的 sha 加密 ret = hashlib.sha512( "加盐" .encode( "utf-8" )) ret.update( "给这个字符串加盐" .encode( "utf-8" )) print (ret.hexdigest()) #动态加盐的sha加密 username = input ( "请输入用户名: " ).strip() ret = hashlib.sha512(username.encode( "utf-8" )) ret.update( "给这个字符串动态加盐" .encode( "utf-8" )) print (ret.hexdigest()) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架