我一直在用它来散列密码,但是我觉得它不是很安全。我一直在四处搜寻,看看是否有人使用它解密了一个字符串。这是加密算法,我不确定如何逆转数学运算以解密哈希。任何帮助都将受到欢迎。这是C ++中的加密器。

编辑:我确实打算切换到一种更安全的哈希密码方法,但是,为了做到这一点,在我转换为新的哈希SHA256字符串之前,我需要反转数学以将其转换为纯文本。人们似乎在这里不了解我,我知道这是不安全的,这只是显示c ++中的算法。它实际上是另一种语言。我受限于我可以做的事情以及用这种语言做事的方式。

#include <iostream>
#include <string.h>
using namespace std;



int main()
{
    char hasher[256];
    cout<< "Input a string!"<<endl;
    cin>> hasher;
    cout << endl;


for(int x=0; x < strlen(hasher); x++)
  {
      hasher[x] += (3^x) * (x % 15);
      if(hasher[x] > (255))
      {
          hasher[x] -= 256;
      }
  }

  cout << hasher << endl;
  system("pause");
  return 1;
}

最佳答案

您正在根据位置向字符添加数字。只需减去该数字3 ^ x等

关于c++ - C++:反转此哈希?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28647807/

10-10 16:10