Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 解密未知散列加密_Mysql_Encryption_Hash_Pawn - Fatal编程技术网

Mysql 解密未知散列加密

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)

我正在从文件迁移到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))
{
字符串[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
会得到什么?