#contents

OCamlでダイジェスト認証をするために文字列を暗号化する方法

** MD5 [#sc402199]
MD5に関しては標準ライブラリ(stdlib)内にあるDigestモジュールでOK

 let md5_hexdigest s = Digest.to_hex (Digest.string s)

** SHA-1 [#o2d5f12a]
SHA-1ダイジェストで暗号化するためにはCryptokitなどのライブラリが必要

([[Cryptokitのインストール方法:http://ocaml-nagoya.g.hatena.ne.jp/keyword/cryptokit]])
 open Cryptokit
 
 let sha1_hexdigest s =
   let hex s = transform_string (Hexa.encode()) s in
   hex (hash_string (Hash.sha1()) s)

コンパイルはocamlfindを使えばこんな感じ
 ocamlfind ocamlc -linkpkg -package cryptokit main.ml

** SHA-256 [#kf1cc804]
 open Cryptokit
 
 let sha256_hexdigest s =
   let hex s = transform_string (Hexa.encode()) s in
   hex (hash_string (Hash.sha256()) s)


** RIPEMD-160 [#i9a0291b]

 open Cryptokit
 
 let ripemd160_hexdigest s =
   let hex s = transform_string (Hexa.encode()) s in
   hex (hash_string (Hash.ripemd160()) s)
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS