网页设计师非常有用的几个在线工具(aes解密在线工具)

2023-03-14 21:17:31 密码用途 思思

时间戳转换

功能简介: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)

地址:

大小写转换

功能简介:可以实现人民币数字大写转换和英文大小写转换

地址:

日期间隔计算

功能简介:一款可以计算两个日期之间的天数的工具

地址:

汉字转拼音

功能简介:可以将汉字转化为带声调的拼音

地址:

文字去重

功能简介:该工具可得到无重复数据的文字

地址:

单位换算器

功能简介:长度、面积、重量、温度等单位一键对等转换

地址:

中文简繁转换

功能简介:将输入的一段文字转换为简体或繁体

地址:

阴阳历转换

功能简介:支持农历公历互查,公历和农历互相转换

地址:

邮编区号查询

功能简介:输入省份、城市、区号或邮编查询该地区号

地址:

字数统计

功能简介:快速计算文章中汉字、标点、英文和数字的个数

地址:

暴力破解AES加密需要什么工具?

这个加密好像是不能破解的吧,只能暴力破解,如果加密位数太多,现在的计数是无法解密的

求AES加解/密码密软件程序!!!

有界面,我这里有个,但是是c#语言的,你以为如何?

下面是c版本的

AES加密算法源代码

//AES.h

#define decrypt TRUE

#define encrypt FALSE

#define TYPE BOOL

typedef struct _AES{

int Nb;

int Nr;

int Nk;

unsigned long *Word;

unsigned long *State;

}AES;

/*

加密数据

byte *input 明文

byte *inSize 明文长

byte *out 密文存放的地方

byte *key 密钥key

byte *keySize 密钥长

*/

void Cipher(

unsigned char* input,

int inSize,

unsigned char* out,

unsigned char* key,

int keySize);

/*

解密数据

byte *input 密文

int *inSize 密文长

byte *out 明文存放的地方

byte *key 密钥key

int *keySize 密钥长

*/

void InvCipher(

unsigned char* input,

int inSize,

unsigned char* out,

unsigned char* key,

int keySize);

/*

生成加密用的参数AES结构

int inSize 块大小

byte* 密钥

int 密钥长

unsigned long 属性(标实类型)

返回AES结构指针

*/

AES *InitAES(AES *aes,

int inSize,

unsigned char* key,

int keySize, TYPE type);

/*

生成加密用的参数AES结构

int inSize 块大小

byte* 密钥

int 密钥长

返回AES结构指针

*/

AES *InitAES(

int inSize,

unsigned char* key,

int keySize, BOOL );

/*

加密时进行Nr轮运算

AES * aes 运行时参数

*/

void CipherLoop(

AES *aes);

/*

解密时进行Nr轮逆运算

AES * aes 运行时参数

*/

void InvCipherLoop(

AES *aes);

/*

释放AES结构和State和密钥库word

*/

void freeAES(

AES *aes);

//AES.cpp

#include "stdafx.h"

#include

#include

#include "AES.h"

unsigned char* SubWord(unsigned char* word);

unsigned long* keyExpansion(unsigned char* key, int Nk, int Nr,int);

/*

加密数据

byte *input 明文

byte *inSize 明文长

byte *out 密文存放的地方

byte *key 密钥key

byte *keySize 密钥长

*/

void Cipher(unsigned char* input, int inSize, unsigned char* out, unsigned char* key, int keySize)

{

AES aes ;

InitAES(aes,inSize,key,keySize,encrypt);

memcpy(aes.State,input,inSize);

CipherLoop(aes);

memcpy(out,aes.State,inSize);

}

/*

解密数据

byte *input 密文

int *inSize 密文长

byte *out 明文存放的地方

byte *key 密钥key

int *keySize 密钥长

*/

void InvCipher(unsigned char* input, int inSize, unsigned char* out, unsigned char* key, int keySize)

{

AES aes;

InitAES(aes,inSize,key,keySize,decrypt);

memcpy(aes.State,input,inSize);

InvCipherLoop(aes);

memcpy(aes.State,out,inSize);

}

/*

生成加密用的参数AES结构

int inSize 块大小

byte* 密钥

int 密钥长

返回AES结构指针

*/

AES *InitAES(AES *aes,int inSize, unsigned char *key, int keySize, TYPE type)

{

int Nb = inSize 2,

Nk = keySize 2,

Nr = Nb Nk ? Nk:Nb+6;

aes-Nb = Nb;

aes-Nk = Nk;

aes-Nr = Nr;

aes-Word = keyExpansion(key,Nb,Nr,Nk);

aes-State = new unsigned long[Nb+3];

if(type)

aes-State += 3;

return aes;

}

/*

生成加密用的参数AES结构

int inSize 块大小

byte* 密钥

int 密钥长

返回AES结构指针

*/

AES *InitAES(int inSize, unsigned char* key, int keySize,unsigned long type)

{

return InitAES(new AES(),inSize,key,keySize,type);

}

/*

*/

void CipherLoop(AES *aes)

{

unsigned char temp[4];

unsigned long *word8 = aes-Word,

*State = aes-State;

int Nb = aes-Nb,

Nr = aes-Nr;

int r;

for (r = 0; r Nb; ++r)

{

State[r] ^= word8[r];

}

for (int round =1; round {

word8 += Nb;

/*

假设Nb=4;

---------------------

| s0 | s1 | s2 | s3 |

---------------------

| s4 | s5 | s6 | s7 |

---------------------

| s8 | s9 | sa | sb |

---------------------

| sc | sd | se | sf |

---------------------

| | | | |

---------------------

| | | | |

---------------------

| | | | |

---------------------

*/

memcpy(State+Nb,State,12);

/*

Nb=4;

---------------------

| s0 | | | |

---------------------

| s4 | s5 | | |

---------------------

| s8 | s9 | sa | |

---------------------

| sc | sd | se | sf |

---------------------

| | s1 | s2 | s3 |

---------------------

| | | s6 | s7 |

---------------------

| | | | sb |

---------------------

*/

for(r =0; r {

/*

temp = {Sbox[s0],Sbox[s5],Sbox[sa],Sbox[sf]};

*/

temp[0] = Sbox[*((unsigned char*)State)];

temp[1] = Sbox[*((unsigned char*)(State+1)+1)];

temp[2] = Sbox[*((unsigned char*)(State+2)+2)];

temp[3] = Sbox[*((unsigned char*)(State+3)+3)];

*((unsigned char*)State) = Log_02[temp[0]] ^ Log_03[temp[1]] ^ temp[2] ^ temp[3];

*((unsigned char*)State+1) = Log_02[temp[1]] ^ Log_03[temp[2]] ^ temp[3] ^ temp[0];

*((unsigned char*)State+2) = Log_02[temp[2]] ^ Log_03[temp[3]] ^ temp[0] ^ temp[1];

*((unsigned char*)State+3) = Log_02[temp[3]] ^ Log_03[temp[0]] ^ temp[1] ^ temp[2];

*State ^= word8[r];

State++;

}

State -= Nb;

}

memcpy(State+Nb,State,12);

word8 += Nb;

for(r =0; r {

*((unsigned char*)State) = Sbox[*(unsigned char*)State];

*((unsigned char*)State+1) = Sbox[*((unsigned char*)(State+1)+1)];

*((unsigned char*)State+2) = Sbox[*((unsigned char*)(State+2)+2)];

*((unsigned char*)State+3) = Sbox[*((unsigned char*)(State+3)+3)];

*State ^= word8[r];

State++;

}

}

/*

解密时进行Nr轮逆运算

AES * aes 运行时参数

*/

void InvCipherLoop(AES *aes)

{

unsigned long *Word = aes-Word,

*State = aes-State;

int Nb = aes-Nb,

Nr = aes-Nr;

unsigned char temp[4];

int r =0;

Word += Nb*Nr;

for (r = 0; r Nb; ++r)

{

State[r] ^= Word[r];

}

State -= 3;

for (int round = Nr-1; round 0; --round)

{

/*

假设Nb=4;

---------------------

| | | | |

---------------------

| | | | |

---------------------

| | | | |

---------------------

| s0 | s1 | s2 | s3 |

---------------------

| s4 | s5 | s6 | s7 |

---------------------

| s8 | s9 | sa | sb |

---------------------

| sc | sd | se | sf |

---------------------

*/

memcpy(State,State+Nb,12);

/*

Nb=4;

---------------------

| | | | s7 |

---------------------

| | | sa | sb |

---------------------

| | sd | se | sf |

---------------------

| s0 | s1 | s2 | s3 |

---------------------

| s4 | s5 | s6 | |

---------------------

| s8 | s9 | | |

---------------------

| sc | | | |

---------------------

*/

Word -= Nb;

State += Nb+2;

for(r = Nb-1; r = 0; r--)

{

/*

temp = {iSbox[s0],iSbox[sd],iSbox[sa],iSbox[s7]};

*/

temp[0] = iSbox[*(byte*)State];

temp[1] = iSbox[*((byte*)(State-1)+1)];

temp[2] = iSbox[*((byte*)(State-2)+2)];

temp[3] = iSbox[*((byte*)(State-3)+3)];

*(unsigned long*)temp ^= Word[r];

*(unsigned char*)State = Log_0e[temp[0]] ^ Log_0b[temp[1]] ^ Log_0d[temp[2]] ^ Log_09[temp[3]];

*((unsigned char*)State+1) = Log_0e[temp[1]] ^ Log_0b[temp[2]] ^ Log_0d[temp[3]] ^ Log_09[temp[0]];

*((unsigned char*)State+2) = Log_0e[temp[2]] ^ Log_0b[temp[3]] ^ Log_0d[temp[0]] ^ Log_09[temp[1]];

*((unsigned char*)State+3) = Log_0e[temp[3]] ^ Log_0b[temp[0]] ^ Log_0d[temp[1]] ^ Log_09[temp[2]];

State --;

}

State -= 2;

}

Word -= Nb;

memcpy(State,State+Nb,12);

State += Nb+2;

for(r = Nb-1; r = 0; r--)

{

*(unsigned char*)State = iSbox[*(unsigned char*)State];

*((unsigned char*)State+1) = iSbox[*((unsigned char*)(State-1)+1)];

*((unsigned char*)State+2) = iSbox[*((unsigned char*)(State-2)+2)];

*((unsigned char*)State+3) = iSbox[*((unsigned char*)(State-3)+3)];

*State ^= Word[r];

State --;

}

}

/*

*--------------------------------------------

*|k0|k1|k2|k3|k4|k5|k6|k7|k8|k9|.......|Nk*4|

*--------------------------------------------

*Nr轮密钥库

*每个密钥列长度为Nb

*---------------------

*| k0 | k1 | k2 | k3 |

*---------------------

*| k4 | k5 | k6 | k7 |

*---------------------

*| k8 | k9 | ka | kb |

*---------------------

*| kc | kd | ke | kf |

*---------------------

*/

unsigned long* keyExpansion(byte* key, int Nb, int Nr, int Nk)

{

unsigned long *w =new unsigned long[Nb * (Nr+1)]; // 4 columns of bytes corresponds to a word

memcpy(w,key,Nk2);

unsigned long temp;

for (int c = Nk; c Nb * (Nr+1); ++c)

{

//把上一轮的最后一行放入temp

temp = w[c-1];

//判断是不是每一轮密钥的第一行

if (c % Nk == 0)

{

//左旋8位

temp = (temp8)|(temp24);

//查Sbox表

SubWord((byte*)temp);

temp ^= Rcon[c/Nk];

}

else if ( Nk 6 (c % Nk == 4) )

{

SubWord((byte*)temp);

}

//w[c-Nk] 为上一轮密钥的第一行

w[c] = w[c-Nk] ^ temp;

}

return w;

}

unsigned char* SubWord(unsigned char* word)

{

word[0] = Sbox[ word[0] ];

word[1] = Sbox[ word[1] ];

word[2] = Sbox[ word[2] ];

word[3] = Sbox[ word[3] ];

return word;

}

/*

释放AES结构和State和密钥库word

*/

void freeAES(AES *aes)

{

// for(int i=0;iNb;i++)

// {

// printf("%d\n",i);

// free(aes-State[i]);

// free(aes-Word[i]);

// }

// printf("sdffd");

}

Flutter AES/RAS 加解密工具类

因项目需要用到加解密,然后研究了下flutter大部分是用原生实现加解密的,但是这样不是我想要的,后面找资料发现dart有一个加密工具 encrypt 。然后研究了下,可以实现我们大部分加解密。

使用Dart实现加解密,有对称加密AES,非对称加密RSA。

工具类封装了AES加解密,RSA加解密和数字签名,RSA也实现分段加解密。

一、导包

二、工具类

aes 128,192,256如何加密?如何解密?有没有在线工具在线加密,在线解密?

....比如‘明文’用aes-ecb-256加密 zp填充 密码123 以utf8输出b64加密后就变成了‘lfKTZqoXmZGfuMRxrM1mCgGkDNwlro2vJc1/9+LAeoE=’解密就要反过来

所以你要知道你要解密的文件 加密方式 密码 填充 输出(二次加密) 和 编码 甚至还有偏移量所以 爆破?不存在的

java开发微信小程序AES解密数据报错改怎么解决

具体是报什么错误呢?一般解密报错的情况有,输入不满足16的倍数个字节,这种情况会报,AES解密异常Given final block not properly padded,具体参考: 可以使用这个在线工具解密,如果报错会有相应的错误提示,希望能够帮助到你。