- 1
System.Console.WriteLine(System.String.Concat(System.Security.Cryptography.MD5.Create().ComputeHash(System.Text.Encoding.UTF8.GetBytes("hello world!")).ToList().ConvertAll(b => b.ToString("x2"))));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+132
System.Console.WriteLine(System.String.Concat(System.Security.Cryptography.MD5.Create().ComputeHash(System.Text.Encoding.UTF8.GetBytes("hello world!")).ToList().ConvertAll(b => b.ToString("x2"))));
страшно?
Вот так чуть правильнее:
В "лиспободобной" структуре кода. Правильно: Одна строка - одно действие.
Ты ёбнутый.
Ты ёбнутый
чувствуй своё бессилие
расстояние между этими понятиями - парсек
Если в строчке будет более одной команды, то там уже на порядок больше парсеков. С каждой лишней командой в одной строчке - вероятность обезьянке разобраться в коде за приемлемое время - уменьшается.
>даже обезьянами
Тебе в раздел с названием PHP, быдло. И там записывай себе одну итерацию, одной строкой.
>С каждой лишней командой в одной строчке - вероятность обезьянке разобраться в коде за приемлемое время - уменьшается.
То есть с тысячей строк ассемблерного кода абизьяне вроде тебя просто разобраться?
>//итд...
ты не верно оформил. Каждый результат отдельного действия нужно записать в отдельную переменную с говорящим именем
это основы самодокументирующегося кода
почитай Совершенный код Макконела на досуге
>Совершенный код Макконела
Не всё написанное там стоит принимать за чистую монету.
касательно обезьянок - кто бы спорил
жить и писать код исходя из worst case - как-то глупо
не, меня в школе учили только тому, что реально в жизни пригодится
Пшол нах, lucidfoxGovno.
На счет "ToBase64String" - результаты немного разные: "fc3ff98e8c6a0d3087d515c0473f8677" и "/D/5joxqDTCH1RXARz+Gdw==" соответственно :)
Согласно спецификации он должен быть представлен набором 128-ми бит и в подавляющем большинстве случаев представляется 32-ух символьной строкой из шестнадцатеричных цифр (например, "fc3ff98e8c6a0d3087d515c0473f8677").
Лично я в виде Base64 никогда не встречал.
но для хранения и передачи х-битного массива его удобно заворачивать в строку, для этого чаще всего применяется base64
гугл не против такой точки зрения http://www.google.com/search?q=md5+base64
Просто не встречал дайджест в виде Base64.
>>Только у вас уж очень неправдоподобный результат.
Что вы имеете в виду?
неужели так лучше? :)
Естественно, что читабельней было бы вот так:
open System
open System.Security.Cryptography
open System.Text
let getHash (inputBytes : byte array) =
(StringBuilder(), inputBytes
|> MD5.Create().ComputeHash)
||> Array.fold (fun builder hashByte -> builder.Append(hashByte.ToString("x2")))
|> string
getHash "hello world!"B |> System.Console.WriteLine