....比如‘明文’用aes-ecb-256加密 zp填充 密码123 以utf8输出b64加密后就变成了‘lfKTZqoXmZGfuMRxrM1mCgGkDNwlro2vJc1/9+LAeoE=’解密就要反过来
所以你要知道你要解密的文件 加密方式 密码 填充 输出(二次加密) 和 编码 甚至还有偏移量所以 爆破?不存在的
用在线工具对文字加密解密,步骤如下:
1、打开在线工具官方网站。
2、点击菜单栏的“文字加密解密”。
3、最后我们在这里就可以使用在线工具的文字加密解密了。
加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。
算法破解就是找到加密算法的漏洞,进行技巧性的破解。
暴力破解是在知道加密算的情况下,用各种密码去测试。关于暴力破解也不是真正的暴力,有很多技术巧。如有效的密码字典就是一例。
AES目前没有算法浮出水面。
AES暴力破解与密码强度(如字串的MD5值就难,简单字串在密码字典排序告前,相对容易一些)和计算能力有关。但AES密钥长度太长,各种排列组合简直是天文数字,现有能力民间单机不可能破解。当然也可能一买彩票就中大奖,但似乎比那概率小得多。
首先准备一份明文和秘钥:
var plaintText = 'aaaaaaaaaaaaaaaa'; // 明文
var keyStr = 'bbbbbbbbbbbbbbbb'; // 一般key为一个字符串
参看官网文档,AES方法是支持AES-128、AES-192和AES-256的,加密过程中使用哪种加密方式取决于传入key的类型,否则就会按照AES-256的方式加密。
CryptoJS supports AES-128, AES-192, and AES-256. It will pick the variant by the size of the key you pass in. If you use a passphrase, then it will generate a 256-bit key.
由于Java就是按照128bit给的,但是由于是一个字符串,需要先在前端将其转为128bit的才行。
最开始以为使用CryptoJS.enc.Hex.parse就可以正确地将其转为128bit的key。但是不然...
经过多次尝试,需要使用CryptoJS.enc.Utf8.parse方法才可以将key转为128bit的。好吧,既然说了是多次尝试,那么就不知道原因了,后期再对其进行更深入的研究。
// 字符串类型的key用之前需要用uft8先parse一下才能用
var key = CryptoJS.enc.Utf8.parse(keyStr);
由于后端使用的是PKCS5Padding,但是在使用CryptoJS的时候发现根本没有这个偏移,查询后发现PKCS5Padding和PKCS7Padding是一样的东东,使用时默认就是按照PKCS7Padding进行偏移的。
// 加密
var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
由于CryptoJS生成的密文是一个对象,如果直接将其转为字符串是一个Base64编码过的,在encryptedData.ciphertext上的属性转为字符串才是后端需要的格式。
var encryptedBase64Str = encryptedData.toString();
// 输出:'RJcecVhTqCHHnlibzTypzuDvG8kjWC+ot8JuxWVdLgY=
console.log(encryptedBase64Str);
// 需要读取encryptedData上的ciphertext.toString()才能拿到跟Java一样的密文
var encryptedStr = encryptedData.ciphertext.toString();
// 输出:'44971e715853a821c79e589bcd3ca9cee0ef1bc923582fa8b7c26ec5655d2e06
console.log(encryptedStr);
由于加密后的密文为128位的字符串,那么解密时,需要将其转为Base64编码的格式。
那么就需要先使用方法CryptoJS.enc.Hex.parse转为十六进制,再使用CryptoJS.enc.Base64.stringify将其变为Base64编码的字符串,此时才可以传入CryptoJS.AES.decrypt方法中对其进行解密。
// 拿到字符串类型的密文需要先将其用Hex方法parse一下
var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedStr);
// 将密文转为Base64的字符串
// 只有Base64类型的字符串密文才能对其进行解密
var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr);
使用转为Base64编码后的字符串即可传入CryptoJS.AES.decrypt方法中进行解密操作。
// 解密
var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
经过CryptoJS解密后,依然是一个对象,将其变成明文就需要按照Utf8格式转为字符串。
// 解密后,需要按照Utf8的方式将明文转位字符串
var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8);
console.log(decryptedStr); // 'aaaaaaaaaaaaaaaa'
时间戳转换
功能简介:Unix时间戳和北京时间互转、获取时间戳方法
地址:
代码对比/归并
功能简介:在线检测/比较两个文件文本的不同
地址:
LESS编译器
功能简介:将LESS代码编译成CSS代码,方便前端人员使用
地址:
crontab表达式
功能简介:根据crontab表达式计算未来N次的执行时间
地址:
代码格式化
功能简介:可以对SQL、XML、JSON代码进行格式化和美化
地址:
编码转换
功能简介:URL解码、Native转UTF-8、Native转ASCII
地址:
网页调色板
功能简介:网页颜色选择器、颜色代码查询、RGB颜色值参考
地址:
正则表达式
功能简介:正则表达式匹配和替换、多种常用正则表达式
地址:
答题
功能简介:学霸,快来做题,提升一下你的技能吧
地址:
Markdown
功能简介:将web上的文本转换成HTML文档
地址:
UBB编译器
功能简介:UBB是一种网页中的替代HTML代码的安全代码
地址:
进制转换
功能简介:2~36进制之间任意进制转换,支持浮点型
地址:
CSV转HTML
功能简介:将CSV数据转换为HTML的表格,并展示在页面上
地址:
HTML特殊符号
功能简介:HTML特殊字符编码大全
地址:
XML转JSON
功能简介:XML和JSON的内容和输出互相转换
地址:
HTML转JS
功能简介:HTML和JS的内容和输出互相转换
地址:
js/css压缩
功能简介:在线压缩Javascript和CSS代码
地址:
网页常用字体
功能简介:总结了各种常见的网页字体的显示效果
地址:
Cron生成器
功能简介:可以在线生成任务调度Quartz的Cron表达式
地址:
JSON格式化
功能简介:Json解析、验证、格式化、压缩、以及Json与XML相互转换
地址:
SQL格式化
功能简介:sql在线美化、格式化、脚本压缩
地址:
端口扫描
功能简介:扫描常用或指定的端口,查看端口是否开放
地址:
Base64编码解码
功能简介:将字符base64编码加密,或者将base64加密的字符还原
地址:
MD5加密
功能简介:生成32位和16位的大写和小写的密文
地址:
摩斯电码
功能简介:在线摩斯电码加密解密
地址:
IP查询
功能简介:查询IP或域名的地理位置和宽带供应商、查看本机IP
地址:
文字加密解密
功能简介:支持AES、DES、RC4、Rabbit 等多种算法
地址:
HTTP状态查询
功能简介:检测网页返回的HTTP状态码
地址:
生成htpasswd
功能简介:生成htpasswd
地址:
favicon图标制作
功能简介:将上传图像剪切并生成ico格式的图标
地址:
传图识字
功能简介:可以将一段含有英文文字的照片免费转化成文字
地址:
gif图制作
功能简介:一键生成gif动态图、闪图和搞笑表情包
地址:
生成二维码
功能简介:可以设置图像格式、容错率、大小、颜色及LOGO
地址:
图片转pdf
功能简介:在线免费将多张图片转成pdf文档,一键生成pdf文档
地址:
人脸识别
功能简介:在线人脸识别,自动识别人脸批量裁剪出头像图片
地址:
DIY卡通头像
功能简介:免费的动漫人物制作工具,可以随心定制男女卡通头像
地址:
传图识色
功能简介:可以识别出光标所在处图片的颜色,并提取出图片的主色调
地址:
手绘图片
功能简介:可以自动生成手绘风格照片,还可以改变照片的模糊度
地址:
图片转Base64
功能简介:图片和Base64编码互转
地址:
衣服尺码计算
功能简介:输入你的身高体重,即可计算出你需要的衣服尺寸
地址:
身份证信息查询
功能简介:输入身份证号,查询归属地、性别和出生年月
地址:
科学计算器
功能简介:开方(√)、圆周率(π)、倒数(1/x)、正弦(Sin)
地址:
大小写转换
功能简介:可以实现人民币数字大写转换和英文大小写转换
地址:
日期间隔计算
功能简介:一款可以计算两个日期之间的天数的工具
地址:
汉字转拼音
功能简介:可以将汉字转化为带声调的拼音
地址:
文字去重
功能简介:该工具可得到无重复数据的文字
地址:
单位换算器
功能简介:长度、面积、重量、温度等单位一键对等转换
地址:
中文简繁转换
功能简介:将输入的一段文字转换为简体或繁体
地址:
阴阳历转换
功能简介:支持农历公历互查,公历和农历互相转换
地址:
邮编区号查询
功能简介:输入省份、城市、区号或邮编查询该地区号
地址:
字数统计
功能简介:快速计算文章中汉字、标点、英文和数字的个数
地址: