Чуть менее, чем самая быстрая, переносимая, 64-битная хеш-функция, с достойным качеством.
Да, вжух и в дамки, примерно так. Читаем дальше?
Рубрика «hash» - 2
t1ha = Fast Positive Hash
2017-10-02 в 14:35, admin, рубрики: C, cityhash, hash, hash function, t1ha, высокая производительность, ненормальное программирование, системное программирование, Совершенный кодМетод гарантирования доверия в блокчейнах
2017-09-25 в 15:02, admin, рубрики: all-round bail, blockchain, consensus, DLT, hash, Trust, блокчейн, информационная безопасность, консенсус, криптография, круговая порука, платежные системы, хэшГлавной задачей для блокчейна в любой информационной системе является обеспечение доверия в среде, исключающей такое доверие по умолчанию. В качестве иллюстрации этой проблемы часто приводится задача о «византийских генералах». Не буду на ней подробно останавливаться, в Интернете найдется немало материалов. Вкратце, эта задача описывает процесс принятия решения в абсолютной анархической среде, где каждый за себя и никому не верит.
Читать полностью »
Реализация словаря в Python 2.7
2015-01-14 в 8:51, admin, рубрики: Dict, hash, python, python2.7, алгоритм, Алгоритмы, коллизии, разрешение, словарь, хеш, хэш В этой статье пойдёт речь о том, как реализован словарь в Python. Я постараюсь ответить на вопрос, почему элементы словаря не упорядочены, описать, каким образом словари хранят, добавляют и удаляют свои элементы. Надеюсь, что статья будет полезна не только людям, изучающим Python, но и всем, кто интересуется внутренним устройством и организацией структур данных.
Читать полностью »
Быстрый доступ к map по ключу строке
2014-09-13 в 17:32, admin, рубрики: c++, enum, hash, map, string, Программирование, С++, с++11В статье «String enum — строковые enum» я писал о том как связывать текстовые представления с enum class — метод хороший но только если все элементы заранее известны, но зачастую бывает что строки являются некими идентификаторами и конечно же заранее не известны, а зачастую будут добавляться позднее и причем без пересборки программы.
Требования к библиотеке все теже:
- Кроссплатформенность;
- Минимум зависимостей;
- Скорость чтения;
- Простой синтаксис;
Пример конфига
{
"objects":
[
{
"id": "object1",
"events":
{
"event1":{
"give": {"object2": 4}
},
}
},
{
"id": "object2",
"events":
{
"event2":{
"give": {"object1": 3}
},
},
{
"id": "object3",
"events":
{
"event3":{
"give": {"object3": 4}
},
}
},
Первая и самая простая идея которая напрашивается это:
std::map<std::string,script> events;
Но опять же если это высоконагруженная часть программы то поиск по map может быть достаточно долгим, хэши могут дать колизии чего совсем не хочется.
Вторая идея парсить этот конфиг в 2 прохода тогда на 2-м проходе object1, object2, object3 будут уже известны и можно будет записать на них прямо указатели или ссылки. Но если зависимости еще более сложные то такой подход может и не сработать.
Я предлагаю способ позволяющий существенно сократить runtime издержки подобных конструкций
Как испортить безопасность паролей, следуя советам с Хабра
2014-02-06 в 20:40, admin, рубрики: bcrypt, hash, password security, информационная безопасность, хабр, метки: bcrypt, hash, password security, хабрВ недавней статье «Как надо хешировать пароли и как не надо» было озвучено предложение использовать некий локальный параметр (его еще называют перцем), как еще один рубеж защиты паролей. Несмотря на то, что это решение создает больше проблем, чем решает, большинство комментаторов поддержали эту идею, а несогласных, как водится, заминусовали. Мир в моей голове рухнул и я решил написать эту статью.
Суть
Перец — такая глобальная случайная строка, которая дописывается ко всем паролям (помимо соли). Она секретна (в отличии от соли). Таким образом, получив базу, узнать пароли становится невозможно. И все, казалось бы, хорошо…
Читать полностью »
Хостинг 1gb: ваши хеши обратимы
2013-10-24 в 17:17, admin, рубрики: hash, passwords, домены, информационная безопасность, хостинг, метки: hash, passwords, хостинг Привет сообщество!
Несколько минут назад я учавствовал в замечательном диалоге с техподдержкой хостинга 1gb.ua. Мне нужно было продлить домен на 2 года, а опции такой нет на сайте. Вот я и обратился к ним. Вот он лог чата:
2013-10-24 19:51 Вы:
Добрый вечер, хотелось бы продлить домен на 2 года, а опций таких нет.2013-10-24 19:51 1Gb.ua:
Добрый день. Минуту2013-10-24 19:52 1Gb.ua:
Просто создаете и оплачиваете счет на сумму 118грн. После поступления средств, пишите нам наsupport@1gb.ua, с просьбой продлить домен на 2 года. Укажите для какого домена, логин от личного кабинета и первые 4 символа пароля от личного кабинета. Мы активируем эут услугу.2013-10-24 19:53 Вы:
спасибо. а можно спросить, вы знаете полный пароль? т.е. они у вас хранятся в открытом виде без соли, и вы можете сравнить?2013-10-24 19:54 1Gb.ua:
В виде хеша, хеш обратимый2013-10-24 19:56 Вы:
все хеши обратимы, в зависимости от вычислительных мощностей, которые вы готовы потратить на обратимость.
вы мне вешаете лапшу. если вы «обращаете» хеш, то пароли считай в открытом виде.
Изменения внутреннего представления строк в Java
2013-04-29 в 20:09, admin, рубрики: changes, hash, java, stringВступление
Это мой первый перевод статьи. Решил посвятить его Java, как ни странно. В статье рассказывается об изменениях строкового типа данных, которые произошли в Java.
ВАЖНО: 17 апдейт 7 версии Java не содержит изменений, описанных в этой статье.
Разделение массива символов char[]
В настоящей реализации класса String имеется 4 экземплярных поля: массив символов char[] value — содержащий символы строки, int offset — индекс первого используемого символа в массиве value, int count — количество используемых символов и int hash — кэшированное значение вычисленного хеш кода для данной строки. Как вы могли заметить, в большинстве случаев строка будет иметь значения offset = 0 и count = value.length. Единственное исключение из этого правила, возможно, когда строка создается путем вызова метода viaString.substring или любым методом, который использует данный метод (например, split).
Читать полностью »
Хэш-функции и безопасность паролей в веб-приложении
2013-04-02 в 11:55, admin, рубрики: hash, php, web, метки: hash, PHP, web Время от времени, серверные базы данных похищяют. Учитывая это, важно убедиться, что некоторые важные пользовательские данные, такие как пароли, может быть не восстановлены. Сегодня мы познакомимся с основами за хэширования и тем, как же это может защитить пароли в веб-приложениях.
Читать полностью »
Система хранения файлов с дедупликацией между пользователями
2012-12-24 в 10:30, admin, рубрики: deduplication, hash, md5, webdav, дедупликация, я пиарюсь, метки: deduplication, hash, MD5, webdav, дедупликацияНачало этому проекту положила очень простая идея, о которой, я год назад писал на страницах хабрахабра. Именно тогда, я задумался, почему все сервисы хранения файлов такие жадные? Почему они зарабатывают на том, что несколько различных пользователей, хранят один и тот же файл? Почему мы должны платить дважды, трижды, а иногда и в сотни раз больше, чем реально это стоит? По-моему это несправедливо.
Вторая проблема всех платных сервисов хранения файлов – абонентская плата. Нас заставляют постоянно платить за хранение наших файлов. Если не заплатить, файлы удалят. Больше похоже на вымогательство, чем на удобный сервис, особенно в свете вот этого исследования на тему стоимости хранения данных. Поэтому я решил, что настала пора создать проект, который лишен этих недостатков.
Так появилась идея, а что из этого получилось можно прочитать под хабракатом.
Читать полностью »
Хеш от хеша уменьшает стойкость к брутфорсу — так ли это?
2012-11-13 в 12:26, admin, рубрики: hash, php, sha512, брутфорс, Веб-разработка, информационная безопасность, пароли, хеширование, метки: hash, sha512, брутфорс, информационная безопасность, пароли, хешированиеЧитая разные статьи по информационной безопасности я часто встречаю подобное утверждение. Обосновывают его так: количество вариантов входных данных второй хеш-функции уменьшается до количества выходных вариантов первой.
И, в принципе, это правда. Если количество этих вариантов изначально было большим.
Читать полностью »