HEX编码

简介: HEX编码

HEX编码

  • 编码对象:ascill字符
  • 原理
  • Hex编码的原理就是将原来8位的二进制字节打断,分成两个4位的,并且在前面加上4个零

进行补位这样一个8位二进制字节就变成了2个8位的二进制字节,在将新得到的2个二进制字符进行16位进制转换

得到的新的16位字符串就是Hex的值,所以 二进制的[72, 69, 88] 《hex》 484558是相等的

  • 特点:
  • 编码后的字符串范围是0-9,a-f
  • 编码后的字符串长度是2的倍数
  • 代码
import re
def encrypt_hex(string):
  ciphertext = ""
  lis = []
  for i in string:
    if ord(i) > 127:
      return -1
    lis.extend(re.findall("\d{4}",("0"*8+bin(ord(i))[2::])[-8::]))
  for i in lis:
    ciphertext += hex(int(i,2))[2::]
  return ciphertext
def decrypt_hex(string):
  plaintext = ""
  # 个数一定是2的倍数
  if len(string) % 2 != 0:
    return -1
  lis = re.findall(".{2}", string)
  for i in lis:
    # 判断字符是0-f
    if ord(i[0]) < ord("0") or ord(i[0]) > ord("f") or ord(i[1]) < ord("0") or ord(i[1]) > ord("f"):
      return -1
    plaintext += chr(int(i[0],16)*16+int(i[1], 16))
    #plaintext += chr(int(("0"*4+bin(int(i[0],16))[2::])[-4::]+("0"*4+bin(int(i[1],16))[2::])[-4::],2))
  return plaintext
if __name__ == '__main__':
  ciphertext = encrypt_hex("I love you")
  plaintext = decrypt_hex(ciphertext)
  print(f"{plaintext}: {ciphertext}")
目录
相关文章
|
网络安全
sshkeyd:ssh key 管理小工具
多服务器、多账户、多电脑的情况下管理ssh key有时蛮麻烦的。如果团队使用GitHub协作,又觉得OpenLDAP太笨重,那么可以尝试下这个sshkeyd工具。
676 0
sshkeyd:ssh key 管理小工具
|
10月前
|
人工智能 固态存储 iOS开发
5分钟搞定Photoshop 2025安装:官方下载+许可证激活避坑指南
Adobe Photoshop 2025 是 Adobe 公司推出的最新图像处理软件,广泛应用于平面设计、摄影后期和 UI 设计等领域。其核心功能包括智能 AI 工具(一键抠图、生成填充等)、高效工作流(优化图层管理与色彩调整)、跨平台兼容(支持 Windows 11 和 macOS 15)以及云协作功能(与 Adobe Creative Cloud 集成)。本文详细介绍软件的安装流程、系统要求、正版激活方法及常见问题解决方案,并提供扩展学习资源,帮助用户更好地掌握这款强大工具。
35569 3
|
弹性计算 Linux 数据库
阿里云ECS服务器安装宝塔BT面板图文教程
宝塔BT面板支持Linux和Windows系统,本文以阿里云ECS云服务器Linux系统安装宝塔面板为例,云服务器吧分享安装宝塔面板教程: ECS安装宝塔BT面板图文教程开始: SSH登录ECS服务器 使用命令ssh root@你的服务器公网IP登录linux服务器。
19736 0
阿里云ECS服务器安装宝塔BT面板图文教程
|
NoSQL 关系型数据库 MySQL
Vgo-适合golang初学者的开源框架
# Vgo Vgo是一款基于Gin的开源服务端框架,集成了Redis、Mysql、JWT及队列等技术栈,适合Golang初学者。项目包括Vgo-Gitee和VgoAdmin-Gitee,可通过克隆仓库并按照安装指南进行部署。其目录结构清晰,涵盖路由、模型、后台接口等功能模块,更多功能持续开发中。
376 3
|
算法 数据安全/隐私保护
CTF — MP3文件隐写
CTF — MP3文件隐写
480 0
|
安全 网络协议
SIP 协议的主要功能
【8月更文挑战第24天】
756 0
|
安全 5G 网络安全
什么是 Wi-Fi 热点?
【8月更文挑战第24天】
3868 0
|
API 图形学
Unity 编辑器开发实战【AssetDatabase】- 获取资产的依赖项、引用项
Unity 编辑器开发实战【AssetDatabase】- 获取资产的依赖项、引用项
712 1
Unity 编辑器开发实战【AssetDatabase】- 获取资产的依赖项、引用项
|
Web App开发 前端开发 IDE
QCon 2022·上海站 | 学习笔记6: 前后端分离的架构 在 VS Code 中的应用
QCon 2022·上海站 | 学习笔记6: 前后端分离的架构 在 VS Code 中的应用
545 2

热门文章

最新文章