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

python使用base加密解密

原理

base编码是一种加密解密措施,目前常用的有base16、base32和base64。其大致原理比较简单。
以base64为例,base64加密后共有64中字符。其加密过程是编码后将每3个字节作为一组,这样每组就有3*8=24位。将每6位作为一个单位进行编码(2**6=64,这样就恰好每个值都对应了一个字符)。
举个例子:

将字符 ABC进行base64加密
首先如果将 ABC转化为二进制,值为:
01000001 01000010 01000011
以6位为一个单位划分:
010000 010100 001001 000011
将划分后结果对应上相应的字符结果为:
QUJD

base16和base32同理,就是划分单位分别为4位和5位。

python使用base加密解密

加密

首先将原来字符编码成二进制
在这里插入图片描述
然后将二进制编码进行base64加密,得到加密结果

在这里插入图片描述

解密

步骤类似,是加密过程反过来
首先将base64值转为二进制
在这里插入图片描述
接着将二进制用相应编码解码成结果:
在这里插入图片描述

base32和base16

base32和base16用法类似
在这里插入图片描述

http://www.lryc.cn/news/353575.html

相关文章:

  • 简述vue.mixin的使用场景和原理
  • C# WPF入门学习(四)—— 按钮控件
  • 大模型效能工具之智能CommitMessage
  • PyQt6--Python桌面开发(33.QToolBar工具栏控件)
  • node环境问题(无法加载文件D:\Software\Node.js\node_global\vue.ps1,因为在此系统上禁止运行脚本。)
  • 位运算算法
  • 重学java 45.多线程 下 总结 定时器_Timer
  • MongoDB(介绍,安装,操作,Springboot整合MonggoDB)
  • 【数字移动通信】期末突击
  • 数据库(5)——DDL 表操作
  • 【Java EE】网络协议——HTTP协议
  • Docker提示某网络不存在如何解决,添加完网络之后如何删除?
  • C++ 红黑树
  • PTA 6-4 配对问题
  • sklearn基础教程
  • MySQL入门学习-查询进阶.别名
  • 【Rust日报】嵌入式 Rust:一份简化指南
  • Web课外练习9
  • rtsp协议分析
  • Spring Web MVC(2)
  • Python-图片旋转360,保存对应图片
  • JavaSE——集合框架二(1/6)-前置知识-可变参数、Collections工具类
  • 我用LLaMA-Factory微调大模型来实现商品评论情感分析,准确率高达91.70%
  • 四大进制--详解--以及进制转换规则
  • 谈谈API和人工智能领域的开发和使用以及AI大模型开发进程。
  • 用Python Pygame做的一些好玩的小游戏
  • 【吊打面试官系列】Java高并发篇 - ThreadLocal 是什么?有什么用?
  • Spring MVC的数据转换及数据格式化:java 转换器接口(将一种类型的对象转换为另一种类型及其子类对象)
  • 【开源】多语言大型语言模型的革新:百亿参数模型超越千亿参数性能
  • DDL—表—数据类型—日期时间类型相关语法