MISC:常见编码

一、字符编码

1.ASCII码

使用指定7位或8位二进制数组合表示128-256种可能。

常⻅考点:解题过程中给出十进制或十六进制的连续数值。

进制转换工具: ASCII text,Hex,Binary,Decimal,Base64 converter (rapidtables.com)

2.Base64编码

ASCII编码以8个比特为一组,而base64以6个比特为一组,通过索引进行加密,其中末尾可能带有=号,=号是来垫字的,一个等号相当于00 ,表示补了00。以下是base64编码表。

 

 3.URL编码

        URL编码(URL Encoding):也称作百分号编码(Percent Encoding),是统一资源定位符URL的编码机制。

        编码的原理可以表述为:将需要转码的字符,每个字节按16进制表示,并添加%组成的一个编码。特点:字符串中出现了%。例如,汉字你好转换成16进制:E4 BD A0 E5 A5 BD添加%形成URL编码:%E4%BD%A0%E5%A5%BD。

4.Unicode编码

        Unicode是一种字符编码标准,它为世界上几乎所有的字符都分配了一个唯一的数字编码,以便在计算机系统中进行处理和表示。其目标是提供一种统一的方式来表示和交换文字数据,无论是哪种语言、哪种书写系统或者是哪种计算机平台。为了在计算机中存储和传输Unicode字符,需要使用不同的编码方案来表示码点。

        常⻅的编码方案包括 UTF-8、UTF-16和UTF-32。

        UTF-16: 前缀:\u  特点:4个字符成对出现。

        UTF-32: 前缀:\U  特点:8个字符成对出现。

        Unicode: 前缀:&#  特点:5个字符成对出现。

        Hex: 前缀:&#x  特点:4个字符成对出现。

其中以&#为前缀的编码,可以通过保存为html文件进行解码。

使用工具:CTF在线工具-ASCII编码转换|Unicode编码转换|Native编码转换|UTF-16|UTF-32 (hiencode.com)

5.JavaScript编码

        有些时候开发者为了保护劳动成果可以通过对JavaScript的变量名称和过程名称进行编码,从而起到保护JS代码的作用,通常使用eval函数进行加密处理,该函数可以计算字符串,并执行其中的JS代码。

例如:

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('0',62,1,'hhhhhh'.split('|'),0,{}))

也可以找到固定的位置 倒数第二行的‘hhhhhh'为解码后的数据。

工具:js在线加密解密(eval方法)工具 - 密码工具箱 - 脚本之家在线工具 (jb51.net)

 6.JsFuck编码

        JsFuck是一种基于JavaScript的编码技术,它可以将任意JavaScript代码转换成一系列只包含六个字符的表达式,这六个字符分别是[]()!+。

        JsFuck的设计目的是演示JavaScript语言的强大表达能力,同时也可以用作一种编码方式来绕过一些简单的代码过滤器或检测机制。JsFuck可以通过加密/解密网站来进行破解,同时也可以将密文放在浏览器的Console中进行解密。

        特点:由[]()!+字符组成。

工具:JSFuck - Write any JavaScript with 6 Characters: []()!+ ,也可用浏览器的Console来处理。

7.Jother编码

        与JSFuck差不多,区别是只用!+()[]{}这些字符就能完成对任意字符串的编码,比JSFuck多两个字符{}。

解密方式:

        浏览器F12,点开控制台,把码粘贴进去 回车运行。有可能会触发安全认证。

解码结果: 

8. aaencode编码

        aaencode是一种基于JavaScript的编码技术,它可以将任意JavaScript代码转换成一段看似无害的字符串形式,以达到隐藏和保护代码的目的。

        aaencode的特点是生成的编码字符串仍然是有效的JavaScript代码,可以在浏览器中解码执行,从而还原出原始的JavaScript代码。

        特点:出现大量的颜文字

 工具:aaencode - Encode any JavaScript program to Japanese style emoticons (^_^) (utf-8.jp)

二、现代密码

1.MD5

        MD5(Message Digest Algorithm 5)是一种广泛使用的哈希函数,用于将任意⻓度的数据转换为固定⻓度的哈希值,通常是128位(16字节)。

       MD5算法的工作原理如下:

                1.将输入数据分割成固定大小的块。

                2.对每个块进行一系列的位运算和逻辑函数操作。

                3.将最终的计算结果合并,生成最终的128位哈希值。

        然而,由于MD5的漏洞和弱点被逐渐发现,它已经不再被视为安全的哈希函数。主要的安全问题是它容易受到碰撞攻击,即找到两个不同的输入,但它们产生相同的MD5哈希值。这意味着攻击者可以通过修改输入数据,而不更改哈希值的情况下欺骗验证系统(即产生两个明文,来欺骗系统)。因此,在需要安全性的应用中,不建议使用MD5作为密码存储或数据完整性验证的方式。相反,推荐使用更强大和安全的哈希函数,如SHA-256(Secure Hash Algorithm 256位)。

        MD5值分为16位和32位:

                16位MD5值:将128位的MD5哈希值截取其中的一部分,通常是从第9位到第24位(包括第9位和第24位),共计16位。这个截断过程仅仅是为了缩短表示⻓度,并不影响哈希函数的计算过程。

                32位MD5值:将128位的MD5哈希值表示为32位的十六进制字符串,每个十六进制字符对应4位二进制位。这种表示方式是最常⻅的,常用于校验文件完整性、密码校验等应用。

        特点:32位和16位字符串

        例:e10adc3949ba59abbe56e057f20f883e

工具:MD5免费在线解密破解_MD5在线加密-SOMD5 

2.SHA

        SHA跟MD5的原理是一样的,是MD5的升级版,常⻅的⻓度有SHA-1、SHA-256、SHA-384和SHA-512等。

        例:ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f

工具: MD5免费在线解密破解_MD5在线加密-SOMD5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/757872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Nginx安装教程】

目录 nginx官网安装教程安装相关路径相关命令(Linux)启动命令停止命令重新载入运行卸载 相关命令(Windows)启动命令停止命令重新载入重新打开日志文件查看Nginx版本&#xff1a; 面试题Nginx代理后如何获取客户端真实IP地址 nginx官网安装教程 安装教程目录 安装 Install th…

迁移学习的技术突破与应用前景

目录 前言1 迁移学习技术1.1 原理与分类1.2 主要挑战 2 迁移学习应用2.1 计算机视觉2.2 医疗健康 3 未来展望3.1 推动各领域发展3.2 提高模型泛化能力和效果3.3 在新兴领域中广泛应用 结语 前言 迁移学习作为机器学习领域的重要技术之一&#xff0c;以其能够将从一个任务中学到…

如何构建Docker自定义镜像

说明&#xff1a;平常我们使用Docker运行各种容器&#xff0c;极大地方便了我们对开发应用的使用&#xff0c;如MySQL、Redis&#xff0c;以及各种中间件&#xff0c;使用时只要拉镜像&#xff0c;运行容器即可。本文介绍如何创建一个Demo&#xff0c;自定义构建一个镜像。 开…

程序员下班以后做什么副业合适?

我就是一个最普通的网络安全工程师&#xff0c;出道快10年了&#xff0c;不出意外地遭遇到瓶颈期&#xff0c;但是凭技术在各大平台挖漏洞副业&#xff0c;硬是妥妥扛过来了。 因为对于程序员来讲&#xff0c;这是个试错成本很低、事半功倍的选择。编程技能是一种强大生产力&a…

Android 系统开发工具大全

写给应用开发的 Android Framework 教程——玩转AOSP篇之 Android 系统开发工具推荐 下面推荐的是我常用的工具&#xff0c;如果你有好用的开发工具欢迎在评论区留言讨论交流。 1. SSH 服务与 Tabby Terminal SSH 服务使得我们在其他平台上通过 SSH 客户端程序即可访问到我们…

计算机二级公共知识点---计算机系统组成,指令系统

计算机系统组成 文章目录 计算机系统组成一、计算机系统组成二级考点 二、指令执行方式二级考点&#xff1a; 指令的地址结构寻址地址 &#xff08;考试重点&#xff09;指令寻址数据寻址&#xff08;重点&#xff09;寻址方式&#xff08;重点&#xff09; 例题&#xff1a; E…

内存泄漏及解决方案

目录 什么是内存泄漏 常见的内存泄漏问题 闭包引起的内存泄漏 意外的全局变量 定时器未清除引起的内存泄露 循环引用引起的内存泄露 DOM泄露 前端常见内存泄露检测工具 什么是内存泄漏 首先&#xff0c;需要了解浏览器自身的内存回收机制。 每个浏览器会有自己的一套回…

KTV点歌系统|基于JSP技术+ Mysql+Java+ B/S结构的KTV点歌系统设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;ssm&#xff0c;springboot的平台设计与实现项目系统开发资源&#xff08;可…

python 笔记:locals

1 函数介绍 locals()是Python的一个内置函数&#xff0c;它用于获取当前局部符号表的字典。所谓的局部符号表是指当前作用域中定义的所有变量和它们的值组成的一个字典&#xff08;dictionary&#xff09;。当你在一个函数内部调用locals()时&#xff0c;它会返回包含该函数的…

基于爬虫对山西省人口采集+机器学习的可视化平台

文章目录 数据来源一、研究背景与意义二、研究目标三、研究内容与方法四、预期成果五、代码讲解六、全文总结 数据来源 1.所有原数据均来自&#xff1a;国家统计局-政府的数据网站 2.涉及到的一些预测数据是根据现有数据进行预测而来。 本文从数据来源&#xff0c;研究意义&am…

敏捷开发最佳实践:客户价值实践案例——用户画像的应用

本节所选实践&#xff0c;核心为了帮助大家了解受访者所在团队是如何通过“用户画像”来解决研发资源浪费的问题。 本实践节选自《2021中国企业敏捷实践白皮书》&#xff08;点击可下载&#xff09;&#xff0c;分享者为钟书智&#xff0c;是来自某银行IT部的敏捷教练。 问题…

springboot284基于HTML5的问卷调查系统的设计与实现

问卷调查系统的设计与实现 摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;问卷信息因为其管理内容繁杂&#xff0c;管理数量繁多导…

揭秘计算机奥秘:基础知识大挑战,踏上科技探索之旅

1、计算机是个啥&#xff1f; 想象一下&#xff0c;计算机就像是一个超级能干的大管家&#xff0c;它不仅能记住很多很多东西&#xff08;存储数据&#xff09;&#xff0c;还能按照我们的指令去做各种各样的事情&#xff08;执行计算和操作&#xff09;。这个大管家是由许多部…

『运维心得』BPC-EPM-AddIn专家看过来

目录 系统版本问题 安装顺序问题 framework问题 vstor_redis问题 dll问题 一个小彩蛋 总结 最近在搞BPC&#xff0c;安装Office所需的EPM-AddIn的过程中&#xff0c;碰到了一些奇怪的问题。 查了BPC专家提供的安装说明文档&#xff0c;文档里要么没有提到我们碰到的问题…

RabbitmqMQ

1、RabbitMQ是什么&#xff1f; RabbitMQ是一个开源的、先进的消息队列&#xff08;Message Queue&#xff09;软件&#xff0c;它基于分布式消息传递和队列的概念&#xff0c;用来实现应用程序之间的异步通信。它是用Erlang语言编写的&#xff0c;因此它天生具备高可用性和健…

【RabbitMQ | 第六篇】消息重复消费问题及解决方案

文章目录 6.消息重复消费问题6.1问题介绍6.2解决思路6.3将该消息存储到Redis6.3.1将id存入string&#xff08;单消费者场景&#xff09;&#xff08;1&#xff09;实现思路&#xff08;2&#xff09;问题 6.3.2将id存入list中&#xff08;多消费场景&#xff09;&#xff08;1&…

C++提高笔记(七)---STL常用算法(排序、拷贝和替换、算术生成、集合)

&#xff08;由于上篇笔记篇幅过长&#xff0c;故开新篇 继续记录算法笔记&#xff09; 2.3常用排序算法 学习目标&#xff1a;掌握常用的排序算法 算法简介&#xff1a; sort //对容器内元素进行排序 random_shuffle //洗牌 指定范围内的元素随机调整次序 merg…

【进阶版讲解如何系统地自学Python?】一篇文章带你了解

如何系统地自学Python? 1. 前言2. 确定学习目标3. 学习Python的基础4. 实践编程5. 理解面向对象编程6. 掌握Python库和框架7. 开始一个个人项目8. 加深理解9. 参与社区10. 不断挑战自己11. 总结和回顾 1. 前言 自学Python需要计划、资源和实践&#xff0c;以下是一个系统性自…

springboot + neo4j 功能使用

集成 添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-neo4j</artifactId></dependency> spring:# neo4j 图数据库neo4j:uri: bolt://localhost:7687authentication:username: …

首页效果炫酷的wordpress免费主题模板

视频背景免费WP主题 简洁大气的视频背景wordpress主题&#xff0c;找大视频背景的主题可以看看这个。 https://www.wpniu.com/themes/193.html 红色全屏大图WP主题 非常经典的一款免费wordpress主题&#xff0c;红色全屏大图满足多行业使用。 https://www.wpniu.com/themes…