Size: a a a

Clojure — русскоговорящее сообщество

2019 December 07

YK

Yurii Khmelevskii in Clojure — русскоговорящее сообщество
Подскажите как можно спекой проверить валидный md5 или нет?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Yurii Khmelevskii
Подскажите как можно спекой проверить валидный md5 или нет?
А можно поподробнее?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Типа правильно ли он посчитан?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Yurii Khmelevskii
Подскажите как можно спекой проверить валидный md5 или нет?
спека принимает любую функцию, которая возвращает true/false
источник

YK

Yurii Khmelevskii in Clojure — русскоговорящее сообщество
нет, типа это md5 или просто какая-то строка
источник

YK

Yurii Khmelevskii in Clojure — русскоговорящее сообщество
можно регекспом, но наверное можно как-то по другому
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Yurii Khmelevskii
нет, типа это md5 или просто какая-то строка
я не думаю что это возможно. md5 это произвольное число по сути
источник

YK

Yurii Khmelevskii in Clojure — русскоговорящее сообщество
например через java.security.?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
проверить можно только что вот это вот число является md5 хэшом от вот этого вот файла/строки/чего угодно
источник

YK

Yurii Khmelevskii in Clojure — русскоговорящее сообщество
именно это и нужноо
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
а от чего хэш надо проверять?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
ну смотри, если у тебя например есть что-то такое
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
{:path "/home/files/somefile" :md5 "9fsdf90f3223h423"}
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
то можно написать спеку
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
(s/def ::valid-md5 (fn [payload] (= (:md5 payload) (md5 (:path payload)))
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
сам md5 через java.security.MessageDigest можно посчитать
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Дальше, если у тебя скажем есть спека на саму эту мапу
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
(s/def ::path string?)
(s/def ::md5 string?)
(s/def ::payload (s/keys :req-un [::path ::md5]))
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
То можно вот такую спеку написать
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
(s/def ::payload-md5 (s/and ::payload ::valid-md5))
источник