У нас пароль 8 бит
Хэш создаём, необратимо. Это следует из описание термина.
И должен быть лавинный эффект.
Какими простенькими операциями его сделать?
Другие языки программирования и технологии
Как сделать простенький хэш пароля?
Для создания простого хэша пароля можно использовать несколько простых операций. Одним из способов является использование функции хеширования, такой как MD5 или SHA-1. Однако, эти функции могут быть уязвимы к атакам, поэтому лучше использовать более современные функции, такие как SHA-256 или SHA-512.
Если вы хотите создать свой собственный хэш, то можно использовать простые операции, такие как XOR, сдвиг битов и циклические сдвиги. Например, можно применить XOR к каждому байту пароля и ключа, а затем применить циклический сдвиг на полученном значении. Это создаст лавинный эффект, который обеспечит необратимость хэша.
Пример простого хэша пароля на языке Python:
Если вы хотите создать свой собственный хэш, то можно использовать простые операции, такие как XOR, сдвиг битов и циклические сдвиги. Например, можно применить XOR к каждому байту пароля и ключа, а затем применить циклический сдвиг на полученном значении. Это создаст лавинный эффект, который обеспечит необратимость хэша.
Пример простого хэша пароля на языке Python:
password = "password"
key = "secret_key"
# Применяем XOR к каждому байту пароля и ключа
result = bytearray()
for i in range(len(password)):
result.append(password[i] ^ key[i % len(key)])
# Применяем циклический сдвиг
hash_value = 0
for b in result:
hash_value = ((hash_value
>На каждый пароль должен быть свой хэш
Это либо принципиально невозможно, либо бессмысленно.
Это либо принципиально невозможно, либо бессмысленно.
Александр Припадчев
Ну тогда хэш будет меньше длинны пароля. И тогда будут коллизии
import hashlib
import os
def hash_password(password: str, salt_length: int = 16) -> bytes:
# Генерируем случайную соль
salt = os.urandom(salt_length)
salted_password = salt + password.encode()
hasher = hashlib.sha256()
hasher.update(salted_password)
hash_value = hasher.digest()
return hash_value
password = "abcd" # Пароль для хеширования
hashed_password = hash_password(password)
print(hashed_password.hex())
Чем тебя уже готовые хеш функции не устраивают?
Александр Припадчев
Я хочу своё сделать. А готовое изучатьб как оно работает не хочу
Похожие вопросы
- PHP. Что будет если получить хэш пароля таким образом: echo md5(md5(md5("SUPER_PUPER_PASS_12345"))); Так надежнее? :)
- Как сделать папку под паролем?
- Кто может бесплатно сделать простенький сайт?
- люди подскажите как сделать простенькую игрушку, какой нужен язык програмирования. я ходил на курсы 3D MAX, FLASH...
- Сколько рублей стоит сделать простенький сайт?
- Возможно ли сделать простенький сайт имея блокнот и паинт? Хочу в школе поделать сайты, знания базовые имею (html, css).
- Как сделать простенький сайт? Если полный ноль в этом.
- Подскажите. Вот нужно на сайт меню входа сделать (логин и пароль).
- Подскажите по хэш функциям. Объясните, не понимаю.
- ХЭШ, помогите расшифровать