Size: a a a

2019 April 12

VC

V C in pro.python
Jim Moonrock
Ребят , кто может про hash рассказать , что это такое и зачем он нужен
источник

ED

Eugene Denisov in pro.python
Jim Moonrock
Ребят , кто может про hash рассказать , что это такое и зачем он нужен
Для внутренней структуры dict() и set().
источник

ED

Eugene Denisov in pro.python
Значения с вычисляемым (и желательно неизменным) хэшем можно использовать в качестве ключей словарей и элементов наборов.
источник

JR

Jolly Roger in pro.python
хэш - это функция, которая из набора данных делает некое число, значение. Функция особая, поэтому для 'мама' и 'мАма' будут два абсолютно разных значения. Минимально изменение входа максимально меняет output. Плюс отсутствие коллизий, т.е. вероятность того что два разных входных значения сгенерят один и от же хэш должна быть минимальна.
источник

JR

Jolly Roger in pro.python
иначе пароли везде у всех начнут совпадать...
источник

JR

Jolly Roger in pro.python
используется для идентификации данных: хэщированные пути к файлам как ключ в базе, хэшированные сами файлы как контрольная сумма файла. Хэшированные пароли, которые нельзя восстановить до оригинала, но можно проверить на сервере на совпадение
источник

JR

Jolly Roger in pro.python
в питоне поддерживается через `__hash__()` который обычно берёт `hash(self.__str__())`
источник

JR

Jolly Roger in pro.python
*особая багодарность телеграму за форматирование двойных подчеркиваний
источник

JR

Jolly Roger in pro.python
например большинство структур данных в питоне хэшируются и именно по хэшам происходит поиск когда вы говорите
if name in namelist:
   dosmth
источник

JR

Jolly Roger in pro.python
а не по самим строкам
источник

ED

Eugene Denisov in pro.python
Jolly Roger
*особая багодарность телеграму за форматирование двойных подчеркиваний
УМВР: __hash__()
источник

ED

Eugene Denisov in pro.python
Jolly Roger
иначе пароли везде у всех начнут совпадать...
Но питоний hash() никто не использует для паролей. Он ведь одинаковые значения для одинаковых аргументов выдаёт только в рамках одной сессии. Запустишь питон заново — получишь новые значения. Для паролей используют криптографические функции из hashlib.
источник

AB

Artöm Bakri Al-Sarmini in pro.python
Jolly Roger
*особая багодарность телеграму за форматирование двойных подчеркиваний
Оберните в `
источник

JR

Jolly Roger in pro.python
ага, для сильного крипто используются все вот эти ваши SHA1, RSA, MD5 и проч
источник

JR

Jolly Roger in pro.python
(я не настоящий сварщик, а каску на стройке нашёл)))
источник

MS

Mike 🔥🔥 Salnikov in pro.python
Jolly Roger
ага, для сильного крипто используются все вот эти ваши SHA1, RSA, MD5 и проч
> сильное крипто
> md5
источник

JR

Jolly Roger in pro.python
md5 гораздо лучше чем некриптографические хэши. У каждой функции своё предназначение
источник

MS

Mike 🔥🔥 Salnikov in pro.python
Jolly Roger
md5 гораздо лучше чем некриптографические хэши. У каждой функции своё предназначение
это конечно да, но не отменяет того, что мд5 не имеет никакого отношения к сильному крипто
источник

MS

Mike 🔥🔥 Salnikov in pro.python
SHA, AES, b/sCrypt — да
источник

JR

Jolly Roger in pro.python
Это на самом деле зависит от того что вы называете "сильным"
источник