精华内容
下载资源
问答
  • js对明文和图片进行base64编码加密
    千次阅读
    2020-03-03 13:58:45

    base64编码和解码

    const rich = btoa("I have money, a lot, fully 10 yuan.") // 编码
    console.log(rich) // SSBoYXZlIG1vbmV5LCBhIGxvdCwgZnVsbHkgMTAgeXVhbi4=
    
    
    const HowMuchMoneyIHave = atob(rich) // 解码
    console.log(HowMuchMoneyIHave.split(',')[2]) //  fully 10 yuan.
    

    以上是对ASCII代码进行加密,下面对非ASCII代码加密

    function b64Encode(str) {
    	return btoa(encodeURIComponent(str)); // 先转码再编码
    }
    function b64Decode(str) {
    	return decodeURIComponent(atob(str)); // 先解码再转码
    }
    let IHaveMoney = b64Encode('我有钱'); 
    console.log(IHaveMoney); // JUU2JTg4JTkxJUU2JTlDJTg5JUU5JTkyJUIx
    console.log(b64Decode(IHaveMoney)); // 我有钱
    

    base64对图片编码

    <body>
    	<img src="" class="img" />
    	<script>
    		function getBase64Image(img) {
    			var canvas = document.createElement("canvas");
    			canvas.width = img.width;
    			canvas.height = img.height;
    			var ctx = canvas.getContext("2d");
    			ctx.drawImage(img, 0, 0, img.width, img.height);
    			var ext = img.src.substring(img.src.lastIndexOf(".") + 1).toLowerCase();
    			var dataUrl = canvas.toDataURL("images/" + ext);
    			return dataUrl;
    		};
    		var img = "./img/b5.jpg";  // 图片路径
    		var image = new Image();
    		image.src = img;
    		image.onload = function() {
    			var base64 = getBase64Image(image);
    			document.getElementsByClassName("img")[0].setAttribute("src", base64)
    		}
    	</script>
    </body>
    
    更多相关内容
  • DNA编码方法,可以更有效的保护图像信息,提高加密系统的安全性。
  • 基于DNA编码的图像加密,采用将图像分块进行DNA编码,通过CHEN超混沌系统产生密钥,进行特殊的DNA运算后解码得到加密后的图像
  • //读取图片文件,转换成base64编码格式 $image_file = './4296762_165319032930_2.jpg'; $image_info = getimagesize($image_file); $base64_image_content = [removed] . chunk_split(base64_encode(file_
  • 对一张图片进行DNA编码加密,具体步骤是转换位dna编码,改变编码位置,再转化回图像数据。
  • 加密和编码解析

    千次阅读 2021-01-29 21:38:50
    文章目录古典密码学移位式加密替换式加密现代密码学对称加密⾮对称加密签名与认证:hash算法编码和解码Base64编码URL 使⽤的百分号编码压缩与解压缩编码序列化 古典密码学 起源于古代战争:战争中,为了防⽌书信...

    古典密码学

    起源于古代战争:在战争中,为了防⽌书信被截获后重要信息泄露,⼈们开始对书
    信进⾏加密。

    移位式加密

    如密码棒,使⽤布条缠绕在⽊棒上的⽅式来对书信进⾏加密
    加密算法:缠绕后书写 密钥:⽊棒的尺⼨在这里插入图片描述

    替换式加密

    按规则使⽤不同的⽂字来替换掉原先的⽂字来进⾏加密。

    现代密码学

    1. 可以加密任何⼆进制数据
    2. ⾮对称加密的出现使得密码学有了更⼴泛的⽤途:数字签名

    对称加密

    1. 通信双⽅使⽤同⼀个密钥,使⽤加密算法配合上密钥来加密,解密时使⽤加密过程
      的完全逆过程配合密钥来进⾏解密。
    2. 特点:加密是解密使用相同密钥,但加密和解密算法不同,解密算法是加密算法的逆运算。
    3. 算法:DES(56 位密钥,密钥太短⽽逐渐被弃⽤)、AES(128 位、192 位、256 位密钥,
      现在最流⾏)
    4. 对称加密作用:保护通信,防⽌信息在不安全⽹络上被截获后,信息被⼈读取或篡改。
    5. 对称加密破解风险:由于加密和解密的密钥相同,例如在一个登陆网站上,一旦密钥被截取,然后对网站进行疯狂的注册操作,就可以拿到很多的原文-密文对,同时又有解密后的原数据,这样就有一定的概率可以试出来密钥内容,从而破解密钥,这就是中间人攻击。只能通过优化加密算法来降低这种概率。
    6. 对称加密缺点:如上所述,不能在不安全的网络上传输密钥,容易泄露密钥,但是网络往往是不安全的。
    7. 对称加密过程图解:
      在这里插入图片描述

    ⾮对称加密

    1. 原理:⾮对称加密的密钥是一对两个(公钥和私钥),使⽤公钥对数据进⾏加密得到密⽂;使⽤私钥对数据进⾏解密得到原数据。图解如下:
      在这里插入图片描述

    2. 优势:如上图所示,使⽤⾮对称加密通信,可以在不可信⽹络上将双⽅的公钥传给对⽅,在数据传输前,发送方使用对方的公钥对原数据进行加密,发送过去后,接收方使用自己的私钥进行解密。

    3. 特点:非对称加密的加密密钥和解密密钥不相同,但是加密算法相同。

    4. 作用:非对称加密的公钥和私钥是互相可解的,因此⾮对称加密还可以应⽤于数字签名技术。

    签名与认证:

    ①发送方和接受方分别持有自己的私钥和对方的公钥如下:
    在这里插入图片描述②. 发送方使用自己的私钥和加密算法对原数据进行签名,然后和原数据一起发送给接收方,接收方使用发送方的公钥对签名数据进行解密得到原数据,和发送的原数据进行对比验证。
    在这里插入图片描述
    ③上述做法实际上会发送两遍原数据,通常做法是原数据是不能在网络上进行传输的,有泄露风险,取而代之的是我们先在数据发送前对原数据进行一次hash算法(不可逆)生成摘要,然后用自己的私钥对hash后的数据摘要进行签名,然后将签名后的摘要放在对原数据hash后的摘要后边发送出去。接收方使用发送方的公钥对签名后的摘要进行解密得到原数据hash后的数据,然后和发送过来的hash后的原数据进行比对,从而验证一致性。也就是说原数据不直接传递,也不经过加密后传递,而是传递它的hash值,接受方也不保存原数据(类似于服务器不保存密码,只保存密码的hash值)
    在这里插入图片描述
    5. 非对称加密算法:RSA(可⽤于加密和签名)、DSA(仅⽤于签名,但速度更快)
    6. ⾮对称加密的优缺点:可以在不安全⽹络上传输密钥,因为传输的是公钥,但是计算复杂,性能会比对称加密差很多。
    7. 破解风险:常用密码可能会在彩虹表中被收集。

    hash算法

    1. 定义:把任意数据转换成指定⼤⼩范围(通常很⼩,例如 256 字节以内)的数据
    2. 作用①:从数据中提出摘要信息,因此最主要⽤途是数字指纹。
    3. 作用②:快速唯⼀性验证,例如 Java 中的 hashCode() ⽅法,可以快速的验证两个值的不相等。
    4. 作用③:数据完整性验证。例如从⽹络上下载⽂件后,通过⽐对⽂件的 Hash 值(例如 MD5、SHA1,SHA256都属于hash算法,都是不可逆的),可以确认下载的⽂件是否有损坏。如果下载的⽂件 Hash 值和⽂件提供⽅给出的 Hash 值⼀致,则证明下载的⽂件是完好⽆损的。
    5. 作用④:快速查找,例如HashMap,内部使用了数组,通过计算key的HashCode()直接定位value所在的索引,不需要遍历整个数组。
    6. 作用⑤:隐私保护,当重要数据必须暴露的时候,有事可以选择暴露它的 Hash 值(例如 MD5),以保障原数据的安全。例如⽹站登录时,可以只保存⽤户密码的 Hash 值,在每次登录验证时只需要将输⼊的密码的 Hash 值和数据库中保存的 Hash 值作⽐对就好,⽹站⽆需知道⽤户的密码。这样,当⽹站数据失窃时,⽤户不会因为⾃⼰的密码被盗导致其他⽹站的安全也受到威胁,但是hash算法不属于加密,因为它是单向不可逆操作。同时它也不属于编码,因为编码对应着解码,是可逆的。

    编码和解码

    1. 定义:编码即把数据从⼀种数据格式转换为另⼀种数据格式。解码同理。同时也是可逆操作,有编码就有解码。

    Base64编码

    1. 定义:将⼆进制数据(所有计算机数据都是⼆进制数据)转换成由 64 个字符组成的字符串的编码算法,
    2. 算法:将原数据每 6 位对应成 Base 64 索引表中的⼀个字符编排成⼀个字符串(每个字符8 位),base64索引表如下:
      在这里插入图片描述
    3. Base64 的⽤途:将⼆进制数据扩充了储存和传输途径。普通的字符串在经过 Base64 编码后的结果会变得⾁眼不可读。
    4. Base64 的缺点:因为⾃身的原理(6 位变 8 位),因此每次 Base64 编码之后,数据都会增⼤约1/3,所以会影响存储和传输性能。所以使用base64对图片进行编码传输既不会高效(因为体积增大),也不会安全(因为base64是编码方式,是可逆的,可以解码的)

    变种:Base58,⽐特币使⽤的编码⽅式,去掉了 Base64 中的数字 “0”,字⺟⼤写 “O”,字⺟⼤写
    “I”,和字⺟⼩写 “l”,以及 “+” 和 “/” 符号,⽤于⽐特币地址的表示。
    Base58 对于 Base64 的改动,主要⽬的在于⽤户的便捷性。由于去掉了难以区分的
    字符,使得 Base58 对于「⼈⼯抄写」更加⽅便。另外,去掉了 “+” “/” 号后也让⼤
    多数的软件可以⽅便双击选取

    URL 使⽤的百分号编码

    在 URL 的字符串中,对⼀些不⽤于特殊⽤途的保留字符,使⽤百分号 “%” 为前缀进
    ⾏编码,以避免出现解析错误。

    压缩与解压缩编码

    压缩:将数据使⽤更具有存储优势的编码算法进⾏编码。
    解压缩:将压缩数据解码还原成原来的形式,以⽅便使⽤
    目的就是为了减⼩数据占⽤的存储空间。

    序列化

    把数据对象(⼀般是内存中的,例如 JVM 中的对象)转换成字节序列的过程。对象
    在程序内存⾥的存放形式是散乱的(存放在不同的内存区域、并且由引⽤进⾏连
    接),通过序列化可以把内存中的对象转换成⼀个字节序列,从⽽使⽤ 字节数组byte[] 等形
    式进⾏本地存储或⽹络传输,在需要的时候重新组装(反序列化)来使⽤。目的是让内存中的对象可以被储存和传输。

    序列化 不是编码,编码是把数据由⼀种数据格式转换成另⼀种数据格式;⽽序列化是把数据由内存中的对象(⽽不是某种具体的格式)转换成字节序列

    展开全文
  • 主要介绍了Python实现base64编码图片保存到本地功能,涉及Python针对base64编码解码与图形文件输出保存相关操作技巧,需要的朋友可以参考下
  • python2和python3实现在图片上加汉字,最主要的区别还是内部编码方式不一样导致的,代码表现为些许的差别。这篇文章主要介绍了python2和python3实现在图片上加汉字,需要的朋友可以参考下
  • Linux用ffmpegQt实现采集摄像头并编码RTMP传输,里面附带像素操作添加水印源码,可惜录音那里我被ALSA Buffer xrun卡住了,所以只有视频。
  • Base64编码在Web方面有很多应用,譬如URL、电子邮件方面。网上有很多相关的资源用于提供Base64编码和其他编码的转换,.Net Framework也提供了现成的功能类(System.Convert)用于将二进制数据转换为Base64字符串
  • python2和和python3实实现现在图片片上上加加汉汉字字的的方方法法 python2和python3实现在图片上加汉字,最主要的区别还是内部编码方式不一样导致的,代码表现为些许的差 别这篇文章主要介绍了python2和...
  • CTF常见编码解密(超全)

    千次阅读 多人点赞 2020-11-19 18:16:34
    summary: 这是整理的最全的ctf常见解密,以及编码,不看后悔!! abbrlink: a36c date: 2020-11-18 08:32:39 前言 ​ 最近打了场ctf,真的是被各种编码以及加密方式给搞怕了,所以,今天就来整理一下ctf中常见的...

    前言

    ​ 最近打了场ctf,真的是被各种编码以及加密方式给搞怕了,所以,今天就来整理一下ctf中常见的编码,顺便给这次比赛做一个总结。

    原文链接请点击:https://www.cnblogs.com/ruoli-s/p/14206145.html

    常见CTF编码及加解密

    补充

    计算机中的数据都是按字节存储。一个字节(Byte)由8个二进制位组成(bit)。(组成范围是0~255(28)) 一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。

    ASCII编码

    简述 :

    ASCII 码是对英语字符与二进制位之间的关系,做了统一规定。

    基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,

    ​ 如:空格SPACE 是32(二进制:00100000);

    ​ 数字0 是48(二进制:00110000);

    ​ 大写字母A 是65(二进制:01000001)。

    另外还有 32 个控制字符(不能打印出来)。

    这128个符号,只占用了一个字节的后面7位,最前面的一位统一规定为0。

    特征: 只含有数字

    • 0-9, 49-57

    • A-Z, 65-90

    • a-z, 97-122

    举例:

    明文:hello,world.
    十六进制:0x680x650x6c0x6c0x6f0xff0c0x770x6f0x720x6c0x640x2e
    十进制:1041011081081112551211911111410810046
    二进制:011010000110010101101100011011000110111100101100011101110110111101110010011011000110010000101110
    

    解码链接1
    解码链接2

    ASCII码对照表

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xwhz2PqG-1605780409798)(…/img/1605670745231.png)]

    base家族编码

    base16 / base32 / base64 / base58 / base85 / base 100

    简述:

    **Base16编码是将二进制文件转换成由16个字符组成的文本 **

    base32的编码表是由(A-Z、2-7)32个可见字符构成,“=”符号用作后缀填充。

    base64的编码表是由(A-Z、a-z、0-9、+、/)64个可见字符构成,“=”符号用作后缀填充。

    base58的编码表相比base64少了数字0,大写字母I,O,小写字母 l (这个是L),以及符号‘+’和‘/’

    base91的密文由91个字符(0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}~”)组成

    **Base100编码/解码工具(又名:Emoji表情符号编码/解码),可将文本内容编码为Emoji表情符号;同时也可以将编码后的Emoji表情符号内容解码为文本。 **

    原理:

    具体原理不再详细描述,(主要是太耗时间,可以自行百度)

    举例:

    明文:hello,world.123456

    base16: 68656C6C6F2C776F726C642E313233343635
    特征:大写字母(A-Z)和数字(0-9),不用‘=’补齐。
    
    base32: NBSWY3DPFR3W64TMMQXDCMRTGQ3DK===
    特征:大写字母(A-Z)和数字(2-7),不满5的倍数,用‘=’补齐。
    
    base64: aGVsbG8sd29ybGQuMTIzNDY1
    特征:大小写字母(A-Z,a-z)和数字(0-9)以及特殊字符‘+’,‘/’,不满3的倍数,用‘=’补齐。
    
    base58: 2smDFYXWKE8vc8XA8dadEYcSqcQb
    特征:相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号,最主要的是后面不会出现'='。
    
    base85: BOu!rDst>tGAhM<A1fSl1GgsI
    特征:特点是奇怪的字符比较多,但是很难出现等号
    
    明文:hello,world.123456
    base91: TPwJh>go2Tv!_,aRA2IbLmA
    特征:由91个字符(0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}~”)组成
    不支持中文。
    
    base100: 👟👜👣👣👦📦💳💃👮👦👩👣👛🐥🐨🐩🐪🐫🐬🐭
    特征:就是一堆Emoji表情
    

    在线编码

    base16 / base32 / base64

    base58
    base85
    base91

    base100

    MD5、SHA1、HMAC、NTLM等类似加密型

    1、MD5

    简述:

    ​ 一般MD5值是32位由数字“0-9”和字母“a-f”所组成的字符串,字母大小写统一;如果出现这个范围以外的字符说明这可能是个错误的md5值,就没必要再拿去解密了。

    ​ 16位值是取的是8~24位。

    特征:

    ​ 有固定长度,一般是32位或者16位

    ​ 由数字“0-9”和字母“a-f”组成

    举例:

    明文:hello,world.123456
    md5(hello,world.123456,32) = 5189503aae1b1c0a6fbf7ea9e3128ab0
    md5(hello,world.123456,16) = ae1b1c0a6fbf7ea9
    

    在线加解密

    MD5解密1

    MD5解密2

    2、SHA1

    简述

    ​ SHA1是一种密码散列函数,SHA1可以生成一个被称为消息摘要的160位,20字节的散列值,散列值通常的呈现形式为40位十六进制数。这种加密和MD5类似。

    特征:

    ​ 有固定长度,为40位的字符串

    举例:

    明文:hello,world.123456
    sha1(hello,world.123456)= 0179303b8f08fbc3d16cd23a4be5828790e12375
    

    在线加解密

    SHA1加解密1

    SHA1加解密2

    3、HMAC

    简述:

    ​ HMAC (Hash-based Message Authentication Code) 常用于接口签名验证,这种算法就是在前两种加密的基础上引入了秘钥,而秘钥又只有传输双方才知道,所以基本上是破解不了的 。

    特征:

    ​ 和MD5类似,但是有秘钥。

    举例:

    在线加解密:

    HAMC加解密

    4、NTLM

    简述:

    ​ 这种加密是Windows的哈希密码,是 Windows NT 早期版本的标准安全协议。与它相同的还有Domain Cached Credentials(域哈希)。

    举例:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yIepnHXf-1605780409801)(…/img/NTLM示例.png)]

    在线解密:

    NTML加解密

    5、类似加密穷举

    #算法长度
    1md532/16
    2sha140
    3sha25664
    4sha512128
    5adler328
    6crc328
    7crc32b8
    8fnv1328
    9fnv16416
    10fnv1a328
    11fnv1a6416
    12gost64
    13gost-crypto64
    14haval128,332
    15haval128,432
    16haval128,532
    17haval160,340
    18haval160,440
    19haval160,540
    20haval192,348
    21haval192,448
    22haval192,548
    23haval224,356
    24haval224,456
    25haval224,556
    26haval256,364
    27haval256,464
    28haval256,564
    29joaat8
    30md232
    31md432
    32ripemd12832
    33ripemd16040
    34ripemd25664
    35ripemd32080
    36sha22456
    37sha3-22456
    38sha3-25664
    39sha3-38496
    40sha3-512128
    41sha38496
    42sha512/22456
    43sha512/25664
    44snefru64
    45snefru25664
    46tiger128,332
    47tiger128,432
    48tiger160,340
    49tiger160,440
    50tiger192,348
    51tiger192,448
    52whirlpool128
    53mysql老MYSQL数据库用的,16位,且第1位和第7位必须为0-8
    54mysql540
    55NTLM32
    56Domain Cached Credentials32

    AES、DES、RC4、Rabbit、3DES型加密

    简述:

    以上都是对称性加密算法,就是引入了密钥,加密和解密都是使用相同的密钥,密文特征与Base64类似,

    在线解密:
    非对称加密

    Unicode编码

    简述:

    Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。
    它用两个字节来编码一个字符,字符编码一般用十六进制来表示.

    举例:

    Unicode有以下四种编码方式:

    明文:hello,world.

    &#x [hex]:&#x0068;&#x0065;&#x006C;&#x006C;&#x006F;&#xFF0C;&#x0077;&#x006F;&#x0072;&#x006C;&#x0064;&#x002E;
    
    &# [hex]:&#00104;&#00101;&#00108;&#00108;&#00111;&#65292;&#00119;&#00111;&#00114;&#00108;&#00100;&#00046;
    
    \u [hex]:\U0068\U0065\U006C\U006C\U006F\U002C\U0077\U006F\U0072\U006C\U0064\U002E
    
    \u+ [hex]:\U+0068\U+0065\U+006C\U+006C\U+006F\U+FF0C\U+0077\U+006F\U+0072\U+006C\U+0064\U+002E
    

    在线编码:

    四种方式都有

    unicode16进制

    unicode

    常见\u方式

    HTML实体编码

    简述:

    ​ 字符实体是用一个编号写入HTML代码中来代替一个字符,在使用浏览器访问网页时会将这个编号解析还原为字符以供阅读。

    举例:

    明文:hello,world.
    十进制:&#104;&#101;&#108;&#108;&#111;&#65292;&#119;&#111;&#114;&#108;&#100;&#46;
    十六进制:&#x68;&#x65;&#x6C;&#x6C;&#x6F;&#xFF0C;&#x77;&#x6F;&#x72;&#x6C;&#x64;&#x2E;
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWM5P8YX-1605780409803)(…/img/HTML实体编码.png)]

    在线加解密:

    HTML实体加解密1

    HTML实体加解密2

    Escape、Unescape编码(%u)

    简述:

    Escape/Unescape加密解码/编码解码,又叫%u编码,其实就是字符对应UTF-16 16进制表示方式前面加%u。Unescape解码/解密,就是去掉"%u"后,将16进制字符还原后,由utf-16转码到自己目标字符。如:字符“中”,UTF-16BE是:“6d93”,因此Escape是“%u6d93”,反之也一样!

    举例:

    明文:hello,world.
    密文:%u0068%u0065%u006c%u006c%u006f%uff0c%u0077%u006f%u0072%u006c%u0064%u002e
    

    在线加解密:

    Escape编码/解码

    URL编码

    简述:

    url编码又叫百分号编码,是统一资源定位(URL)编码方式。URL地址(常说网址)规定了常用地数字,字母可以直接使用,另外一批作为特殊用户字符也可以直接用(/,:@等),剩下的其它所有字符必须通过%xx编码处理。 现在已经成为一种规范了,基本所有程序语言都有这种编码,如js:有encodeURI、encodeURIComponent,PHP有 urlencode、urldecode等。编码方法很简单,在该字节ascii码的的16进制字符前面加%. 如 空格字符,ascii码是32,对应16进制是’20’,那么urlencode编码结果是:%20。

    特征:

    编码前面都有%

    举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sqQeSWfX-1605780409806)(…/img/URL编码.png)]

    在线加解密:

    URL加解密

    Hex编码

    简述:

    ​ Hex 全称 是Intel HEX。Hex文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中,每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。

    特征:

    十六进制(Hexadecimal)

    它是计算机中数据的一种表示方法,由0-9,A-F组 成,字母不区分大小写

    与10进制的对应关系是:0-9不变,A-F对应10-15。

    举例:

    明文:hello,world.
    密文(带%):%68%65%6c%6c%6f%ef%bc%8c%77%6f%72%6c%64%2e
    密文(不带%):68656C6C6FEFBC8C776F726C642E
    

    在线加解密:

    不带%

    带%

    js专用加密

    1、JS颜文字加密

    特征:

    一堆颜文字构成的js代码,在F12中可直接解密执行

    举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6RPmHes2-1605780409807)(…/img/1605750605378.png)]

    在线加密:

    JS颜文字加密

    解密在F12的console中

    2、Jother编码

    简述:

    jother是一种运用于javascript语言中利用少量字符构造精简的匿名函数方法对于字符串进行的编码方式。

    特征:

    只用 **! + ( ) [ ] { } **这八个字符就能完成对任意字符串的编码。可在F12中解密执行

    举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KW1bCswg-1605780409809)(…/img/1605751409787.png)]

    在线解密:
    Jother

    4、JSFuck编码

    特征:

    与jother很像,只是少了{ }

    举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JeIl5Zq8-1605780409810)(…/img/1605751794549.png)]

    在线加密:

    JSFuck加密

    解密在F12的console中

    Quoted-printable编码

    简述:

    它是多用途互联网邮件扩展(MIME) 一种实现方式。有时候我们可以邮件头里面能够看到这样的编码;

    特征:

    任何一个8位的字节值可编码为3个字符:一个等号”=”后跟随两个十六进制数字(0–9或A–F)表示该字节的数值.

    举例:

    明文:天上掉下了个猪八戒
    密文:=E5=A4=A9=E4=B8=8A=E6=8E=89=E4=B8=8B=E4=BA=86=E4=B8=AA=E7=8C=AA=E5=85=AB=E6=88=92
    

    在线编码:

    在线编码

    我就吃过该编码的亏,当时不知道啊/(ㄒoㄒ)/~~

    XXencode

    简述:

    ​ XXencode将输入文本以每三个字节为单位进行编码。如果最后剩下的资料少于三个字节,不够的部份用零补齐。这三个字节共有24个Bit,以6bit为单位分为4个组,每个组以十进制来表示所出现的数值只会落在0到63之间。以所对应值的位置字符代替。

    特征:

    字符范围是:

    ​ 0-9,A-Z,a-z,

    ​ 一共64个字符。跟base64打印字符相比,就是UUencode多一个“-” 字符,少一个”/” 字符。

    举例:

    明文:hello,world.
    密文:BO4JgP4yXf5RjQalY9U++
    

    在线加解密:

    UUencode加解密

    UUencode

    简述:

    ​ UUencode是一种二进制到文字的编码,最早在unix邮件系统中使用,全称:Unix-to-Unix encoding,UUencode将输入文本以每三个字节为单位进行编码,如果最后剩下的资料少于三个字节,不够的部份用零补齐。三个字节共有24个Bit,以6-bit为单位分为4个组,每个组以十进制来表示所出现的字节的数值。这个数值只会落在0到63之间。然后将每个数加上32,所产生的结果刚好落在ASCII字符集中可打印字符(32-空白…95-底线)的范围之中。

    举例:

    明文:hello,world.
    密文:,:&5L;&\L=V]R;&0N
    

    在线解密&工具

    UUencode1

    UUencode2

    aaencode编码

    特征:

    将JS代码转换成常用的网络表情

    举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B1dSP7Ym-1605780409811)(…/img/1605772666057.png)]

    在线加解密:

    aaencode1

    aaencode2

    aaencode3

    jjencode编码

    特征:

    将JS代码转换成只有符号的字符串

    举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A19nMNgs-1605780409811)(…/img/1605779161126.png)]

    在线加解密:

    jjencode加密

    jjencode解密

    brainfuck编码

    简述:

    Brainfuck是一种极小化的计算机语言,按照"Turing complete(完整图灵机)"思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言。

    特征:

    BrainFuck 语言只有八种符号,所有的操作都由这八种符号 (> < + - . , [ ]) 的组合来完成。

    举例:

    明文:hello,world.
    密文:+++++ +++++ [->++ +++++ +++<] >++++ .---. +++++ ++..+ ++.<+ +++++ ++[->
    ----- ---<] >---. <++++ ++++[ ->+++ +++++ <]>++ +++++ ++++. ----- ---.+
    ++.-- ----. ----- ---.< +++++ ++[-> ----- --<]> ----- .<
    

    在线加解密:

    Brainfuck1

    Brainfuck2

    莫尔斯电码

    简述:

    ​ 摩尔斯电码(Morse Code)是由美国人萨缪尔·摩尔斯在1836年发明的一种时通时断的且通过不同的排列顺序来表达不同英文字母、数字和标点符号的信号代码,摩尔斯电码主要由以下5种它的代码组成:

    1. 点(.)
    2. 划(-)
    3. 每个字符间短的停顿(通常用空格表示停顿)
    4. 每个词之间中等的停顿(通常用 / 划分)
    5. 以及句子之间长的停顿

    莫尔斯电码对应表:

    A .-B -…C -.-.D -…E .F …-.G –.H I J .—
    K -.-L .-…M N -.O P .–.Q –.-R .-.S T -
    U …-V …-W .–X -…-Y -.–Z –…0 -----1 .----2 …—3 …–
    4 …-5 6 -…7 –…8 —…9 ----.. .-.-.-, –…--? …–…- -…-
    = -…-: —…; -.-.-.( -.–.) -.–.-/ -…-." .-…-.$ …-…-.----..-.-…
    _ …–.-@ .–.-.! —.! -.-.–+ .-.-.~ .-…# …-.-& . …-…-.

    特征:

    由 **. - “空格” / **表示。

    举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gmLE7aZs-1605780409812)(…/img/1605776280497.png)]

    在线加解密:

    莫斯电码1

    莫斯电码2

    社会主义编码

    特征:

    字符全部是社会主义核心价值观。

    举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xmdLUxx6-1605780409813)(…/img/1605778636185.png)]

    在线加解密:

    社会主义编码

    与佛论禅

    特征:

    密文以”佛曰:如是我闻:”开头,密文一般是与关佛经的汉字

    举例:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v4op8S2N-1605780409813)(…/img/1605779656659.png)]

    在线工具:

    与佛论禅

    ·
    ·
    ·
    一些简单编码没有写,
    以后遇到其他的编码,再补充到后面。。。

    展开全文
  • 代码如下,有基本注释,直接复制过去,可能需要导包 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import sun.misc.BASE64Decoder;... //图片文件转Base64编码 pub...

    代码如下,有基本注释,直接复制过去,可能需要导包

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import sun.misc.BASE64Decoder;
    import sun.misc.BASE64Encoder;


        //图片文件转Base64编码

    public class FileCode {
        /**
         * <p>将文件转成base64 字符串</p>
         * @param path 文件路径
         */
        public static String encodeBase64File(String path) throws Exception {
            File  file = new File(path);
            FileInputStream inputFile = new FileInputStream(file);
            byte[] buffer = new byte[(int)file.length()];
            inputFile.read(buffer);
            inputFile.close();
            return new BASE64Encoder().encode(buffer);
        }
        /**
         * <p>将base64字符解码保存文件</p>
         */ 
        public static void decoderBase64File(String base64Code,String targetPath) throws Exception {
            byte[] buffer = new BASE64Decoder().decodeBuffer(base64Code);
            FileOutputStream out = new FileOutputStream(targetPath);
            out.write(buffer);
            out.close();
        }
        /**
         * <p>将base64字符保存文本文件</p>
         */
        public static void toFile(String base64Code,String targetPath) throws Exception {
            byte[] buffer = base64Code.getBytes();
            FileOutputStream out = new FileOutputStream(targetPath);
            out.write(buffer);
            out.close();
        }
        public static void main(String[] args) {
            try {
                String base64Code =encodeBase64File("G:\\1.jpg");
                System.out.println(base64Code);
                decoderBase64File(base64Code, "F:\\解密.jpg");
                toFile(base64Code, "G:\\three.txt");           
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    此处我们将需要加密的图片文件放到G盘根目录下,解密出来的图片文件和.txtBase64编码文件可以给一个路径,会自动生成。

    生成的两个文件可以在之前设置的路径目录下找到,解密出来图片文件

    Base64编码的txt文档

     

     

     

    展开全文
  • NULL 博文链接:https://eric-gao.iteye.com/blog/1705795
  • base64 解码 base64转hex Base64转图片 图片转Base64工具 可选Unicode UTF8等编码格式。前一个不 支持换行,此版本已支持。 (使用前,麻烦安装DotNet4.0以上版本)
  • 使用AJAX是无法直接上传文件的,一般都是新建个iframe它里面完成表单提交的过程以达到异步上传文件的效果。 如此做可以达到比较好的浏览器兼容性,不过代码量会比较大,即使是使用了文件上传插件,例如plupload。 ...
  • Base64字符串文本编码解码加密解密双向解析工具 网上都是针对文件图片的Base64处理,补充这个工具处理文本。 将字符串用UTF8编码为二进制,再转为Base64。 反向:将Base64解码为二进制,再用UTF8解码为字符串。
  • 本文实例讲述了Python简单实现Base64编码和解码的方法。分享给大家供大家参考,具体如下: Base64编码是一种“防君子不防小人”的编码方式。广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位...
  • 如何区分加密、压缩、编码?

    千次阅读 2018-10-19 15:30:42
    原文标题:How to distinguish between encryption, compression, and encoding? 原文作者: M157q 译文出自:云子可信官方论坛 ...译者:云子可信汉化组 前言 base64加密?...base64编码?傻傻...
  • python2和python3实现在图片上加汉字

    万次阅读 2019-08-19 20:21:49
    python2和python3实现在图片上加汉字,最主要的区别还是内部编码方式不一样导致的,代码表现为些许的差别。理解了内部编码原理也就不会遇到这些问题了,以下代码是WIN10系统时测好用的。 Python2 在图片上加...
  • kotlin Base64编码解码

    2018-01-04 15:00:07
    这是kotlin Base64编码解码的工具类 加密的时候使用可以避免乱码
  • 编码图片经过base64编码,再进行gzip压缩。 解码:gzip解压,base64解码。
  • 易语言[对象版]编码转换,支持Base64解码
  • CTF中那些脑洞大开的编码和加密

    千次阅读 2020-06-28 20:02:17
    CTF中那些脑洞大开的编码和加密 CTF中那些脑洞大开的编码和加密 0x00 前言 原文网址:...
  • 加密采用的编码方式 /// 待加密的明文 /// public static string Base64Encode ( string source)//Encoding encodeType, { string encode = string .Empty; byte [] bytes = ...
  • 应用自编码器对图像进行去噪,包含噪声的图片,去噪声声的图片,去噪后的对比图及源码python文档及自编码器的模型
  • 前端实现Base64对文本和图片编码,后端用Java Servlet作为接口实现编码的解码.
  • 折腾了多种方法,发现还是使用base64对储存的文件进行一次编码最方便,编码之后,用户打开图片时将显示为全黑色 编码方法: NSString *path1 = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 175,091
精华内容 70,036
关键字:

怎么在图片上加编码