Banny_Boom: тип с православного postgre на богомерзский mysql? да ладно... единственное что может произойти с базой - введение nosql решений (эластика например) для ускорения поиска. И там тоже есть массивы. Да и миграцию чуть что написать не проблема.
Иван Дамаскин: мне лень, поиск в помощь. Вопервых даже я делал тут пример в каком-то из вопросов схожих, во вторых в интернетах не один десяток примеров.
1) у всех инпутов свое значение (currencies.eur, currencies.rub)
2) у всех инпутов есть ng-change вызывающий метод контроллера (currencies.conver('rub') например)
3) у метода convert есть информация о том кого поменяли (rub) и он может пересчитать все остальное.
4) ???
5) профит
Дмитрий Ким: отчего ж? Все зависит от цели. Если скажем вы владелец какого-то сервиса и мне удалось слить вашу базу данных, то мне эти данные мало чем помогут. А вот добраться до аккаунтов пользователей и, ну не знаю, попереводить бонусы какие-нибудь себе или еще чего сделать, это уже интереснее. А для этого было бы неплохо иметь доступ к достаточному количеству аккаунтов.
Гадости можно делать разные. Некоторые просто продают базу пользователей разных сервисов, и об этом узнают уже тогда когда становится поздно. И это для сервиса будет довольно большой удар. А украсть данные... если мне смертельно важно что бы данные (например данные транзакций) не увидел свет то они будут у меня лежать в защифрованном виде. Ну а если у злоумышленника нашелся секретный ключ, то тут уже печаль беда да.
Дмитрий Ким: ну как вам сказать, вы ее как-то получаете из имеющихся данных, не приходит же она от пользователя вместе с паролем. В любом случае если соль нам не известна и она в md5 - все проще - нужно опять же подобрать коллизию, это увеличивает время но опять же, по миллиарду комбинаций в несколько секунд можно и поднапрячься.
Ельтернатива - прокси сервер на уровне локальной сети который будет выступать в роли быстрого кэша. Но это имеет смысл только на уровне организации или команды разработчиков
Дмитрий Ким: вы о чем вообще? Соль она и в африке соль, какую бы соль вы не использовали смысла загонять ее еще раз в md5 нет так как нам она уже известна, если мне надо будет разобрать ваши пароли - я просто буду реюзать хэш от соли и по нескольку сотен миллионов комбинаций в секунду подбирать коллизию. И подавляющее количество паролей (можно ж не тупой перебор использовать) будут найдено уже в первый час работы скрипта. хранить пароли в md5 сейчас лишь немного более надежно чем просто хранить их в открытом виде.
Дмитрий Ким: а ну и да, подбирать коллизию к соли не надо, мы ее и так знаем. И это приводит нас к мысли что загонять соль еще в md5 бессмысленно, это не дает никакого профита.
Дмитрий Ким: ммм... берем одну-две видеокарты и подбираем коллизию. Будет просто N^2 операций (подобрать коллизию для соли, подобрать коллизию для комбинации хэшированной соли и пароля). Рекорд для видеокарты 9600GT сейчас 350 миллионов хэшей в секунду (и сотня миллионов для старых добрых векторизованных вычислений через SSE2). Возможно расшифровать всю базу пользователей у нас не выйдет, но добрых так 2/3 паролей можно довольно быстро выдрать.
С bcrypt веселее, так как алгоритм является крайне медленным и реализация его на GPU не эффективна (требуется много памяти, а шаред мемори (только в нее столько влезет) на видеокартах крайне медленная и не позволит получить какой-либо профит от задействования GPU.