嗚呼、帰りたい

プログラミングのことから日常のことまで。いわゆるごった煮というものだな。

ScalaでSHA256を実装する

この記事はあくあたん工房アドベントカレンダー12月22日の記事です

はじめに

趣味のプログラミングの一環としてSHA256を実装したくなることは誰にでもあると思います.僕もその一人で,SHA256を実装すべく仕様書に目を通していたところ,Scalaで実装したら楽しいんじゃないかと思い,実装してみました.本当はアドベントカレンダーで投稿する本来の日までに完成させようと思っていたのですが,アドベントカレンダーの最終日である12月25日が迫るなか,どうしてもバグが取れないので未完成ですが投稿してしまうことにします.バグが取れ次第更新する予定です.バグは取れました.

実装

早速ですがコードを貼ります.

仕様書を読むとどうやら大雑把な流れは初期値6A09E667 BB67AE85 3C6EF372 A54FF53A 510E527F 9B05688C 1F83D9AB 5BE0CD19に対して入力を用いてfoldを行うものだったのでfoldLeftを用いた実装にしてみました.またその内部の二つのイテレーションfoldLeftを使って実装しました.全体としてだいぶスッキリした印象です.

おわりに

ものすごく雑な記事となってしまいましたが,大学の課題で思っていたよりも時間が取れなかったので以上にしたいと思います.最後までお読みいただきありがとうございました.