Я использовал это для хеширования своих паролей, но у меня такое чувство, что оно не очень безопасно. Я искал поиски, чтобы узнать, расшифровал ли кто-нибудь строку, используя это. Это алгоритм шифрования, я не уверен, как перейти к реверсированию математики вместо дешифрования хэшей. Любая помощь будет приветствоваться. Это шифр в C++.C++: Обратный этот хэш?
EDIT: Я планирую перейти к более безопасному методу хэширования паролей, однако для этого мне нужно отменить математику, чтобы преобразовать ее в обычный текст, прежде чем преобразовать в новую хэшированную строку 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;
}
Это не хэш. –
Его зашифрованная строка. Сожалею. – amal
Имеет ли ваш тип 'char' более 8 бит? В противном случае 'hasher [x]> (255)' никогда не будет истинным. –