Mysql 解密未知散列加密
我正在从文件迁移到MYSQL,我想使用md5而不是加密Mysql 解密未知散列加密,mysql,encryption,hash,pawn,Mysql,Encryption,Hash,Pawn,我正在从文件迁移到MYSQL,我想使用md5而不是加密 public Encrypt(string[]) { for(new x=0; x < strlen(string); x++) { string[x] += (3^x) * (x % 15); if(string[x] > (0xff)) { string[x] -= 256; } } return 1; } 公共加密(字符串[]) { 对于(新x=0;x(0xff)
public Encrypt(string[])
{
for(new x=0; x < strlen(string); x++)
{
string[x] += (3^x) * (x % 15);
if(string[x] > (0xff))
{
string[x] -= 256;
}
}
return 1;
}
公共加密(字符串[])
{
对于(新x=0;x(0xff))
{
字符串[x]-=256;
}
}
返回1;
}
但我需要解密它。我不知道如何制作解密函数。有人能帮我吗?看起来“加密”会在每个字符上添加一个从其位置派生的数字。加密可以通过减去相同的数字来撤消
public Decrypt(string[])
{
for(new x=0; x < strlen(string); x++)
{
string[x] -= (3^x) * (x % 15);
if(string[x] < (0x00))
{
string[x] += 256;
}
}
return 1;
}
公开解密(字符串[])
{
对于(新x=0;x
我对PAWN的理解是它使用以null结尾的字符串。如果是这种情况,那么这种加密通常不是可逆的过程
考虑一个第十三个字符(字符串[12])为“L”的字符串。将添加到该值的偏移量为(3^12)*(12%15)
,即180。在ASCII码中,字符“L”的值为76,与180相加为256。在打包后,在0到255的字符范围内变成零,可能在中间某个地方终止加密字符串。
如果单独存储原始字符串的长度,或者它总是固定长度,那么这可能不是问题。但是,如果您依靠空终止符来确定字符串的长度,那么它将不起作用。这是什么编程语言?@Joni PAWN(C的伪语言)您意识到MD5是不可逆的吗?也就是说,一旦你通过MD5运行了一些东西,你就无法从散列中恢复原始值。因为我有一个文本而无法正常工作:baqsbaqs因为我有一个文本而无法正常工作:baqsbaqs加密
baqsbaqs
时你得到了什么?baqsbaĄsj5是的,这是你解密后得到的结果。在解密之前加密baqsbaqs
会得到什么?