@provokator2020

Почему не совпадают результаты sha1?

Вот маленькая часть кода с++:
byte pas[] = "YYYYYYYYYY";
	byte hash1[] = "XXXXXXXXXXXXXXXXXXXX";
	byte hash2[] = "XXXXXXXXXXXXXXXXXXXX";
	SHA1(pas, 10, hash1);
	for (int i = 0; i < 20; i++)
		printf("%02x ", hash1[i]);
	cout << endl;
	SHA1(hash1, 20, hash2);
	for (int i = 0; i < 20; i++)
		printf("%02x ", hash2[i]);
	cout << endl;

После первого вычисления sha1 выводит (c7 6f 17 f1 91 05 de 28 39 da b1 ea a2 a2 98 56 3d 67 df 21), так же как и онлайн сервис, но после 2ого вычисления выводит(8b b9 86 c5 25 93 23 91 4d 0b 68 d0 74 84 30 bf 0c c3 1a 63), а в онлайн сервисе (ed bc 29 67 9e b1 fd 0c 08 9b 7b d6 fa 40 6f 85 0f 08 68 a0) почему так?
  • Вопрос задан
  • 196 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
почему так?

Подозреваю, что потому что результат работы функции SHA1 -- бинарный а не строковый. В своей программе ты вторым шагом хешируешь байты результата, а на сайт вставляешь их строковое шестнадцатеричное представление.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
nikkyhud
@nikkyhud
Пишу скрипты на python
Потому что одним и тем же символам соответствует несколько "кодов", которые подбираются рандомным образом.
Например п = ['01','02','03'], р = ['10','20',30'], и = ['04','05'], в = ['40','50'], е = ['06','07','08'], т = ['60',70',80']
и тогда слово "привет" можно будет закодировать 324 способами (на п - 3 способа, на р - 3 способа, на и - 2 способа, на в - 2 способа, на у - 3 способа и на т - 3 способа, т.е 3*3*2*2*3*3 = 324, простая комбинаторика) . Это нужно для усложнения расшифровки.
Вот 2 примера, как можно зашифровать с помощью моего "шифра" слово "привет":
1) 021005400870
2) 033004500780
Надеюсь ничего не напутал и понятно объяснил)
Ответ написан
trapwalker
@trapwalker
Программист, энтузиаст
Первое, что напрашивается проверить - это не обрезает ли сервис по длине. Сделайте иксы той же длины, что и игреки и проверьте повторно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы