Peter Weinberger のハッシュ アルゴリズムを解読することは可能ですか?
独自の Encrypt Decrypt 関数を作成しようとしています。ハッシュ値とは、ハッシュ値を復号化できない、または復号化できないことを意味するという概念を理解していますが、アルゴリズムが比較的単純であるため、この場合、この種のハッシュを復号化できる可能性があると考えています。シンプルなローテーションを使用するシンプルな Encrypt Decrypt を実行しましたが、さらに難しいことを試してみたいと思います。
では、Peter Weinberger のハッシュ アルゴリズムから生成されたハッシュ値を解読することは可能でしょうか?
次の暗号化関数は、Peter Weinberger の正確なハッシュ アルゴリズムです。復号化は、機能していない私自身の試みです。
int encrypt(char *s)
{
/* Peter Weinberger's */
char *p;
unsigned int h, g;
h = 0;
for(p=s; *p!='\0'; p++){
h = (h<<4) + *p; printf("Step : ");
if (g = h&0xF0000000) {
h ^= g>>24;
h ^= g;
}
}
return h % 211;
}
std::string decrypt(int v)
{
/* Peter Weinberger's */
unsigned int h, g;
h = 0;
v /= 211;
int s = sqrt(v);
/* Not sure what to do here
for(p=s; *p!='\0'; p++){
}
*/
return string(h);
}