У меня есть приложение RoR, который делает следующее в своем application.rbApplication.rb переопределить базовый класс рубин
Digest::MD5 = Digest::SHA256
Это, в свою очередь, гарантирует, что каждый раз, когда кто-то вызывает Digest::MD5
, что вместо этого заменить результат с Digest::SHA256
. Я считаю, что это приведет к некоторым непредвиденным последствиям, таким как проблемы времени выполнения, которые трудно отлаживать. Есть ли альтернатива этому подходу или этот звук?
так что, хотя предупреждение действительно помогает, а что, если MD5 были заблокированы на уровне ОС и поэтому порождали ошибку в любое время, когда она была вызвана, поэтому прекратили приложение? – Woot4Moo
Я не думаю, что дайджест :: MD5 может быть заблокирован на уровне ОС, не так ли? Реализация должна быть специфичной для Ruby, а не для ОС. –
Это может быть, если вы применяете FIPS – Woot4Moo