試行錯誤のおと

日々の試行錯誤した結果です。失敗することが多い記録、それだけでっす!

rust で hash 関数を扱ってみた

最近、趣味で rust を書いてる。

rust で sha256 を使って符号化したいケースがあったので調べてみた。

調べていくと rust-crypto [1] なる crate が見つかった。更新頻度も高くてよさそう。

しかし、これドキュメントがない。

ドキュメントがないので、ソースコードを追って読んでみた。 メモがてら記録としてサンプルコードを残しておくことにする。

Cargo.toml

[package]
name = "test"
version = "0.1.0"
authors = ["kizkoh"]

[dependencies]
rust-crypto = "0.2"

main.rs

extern crate crypto;

use crypto::sha2::Sha256;
use crypto::digest::Digest;

pub fn main() {
    let input: String = "test".to_string();
        
    let mut sha256 = Sha256::new();
    sha256.input_str(&input);

    println!("input: {}", input);
    println!("digest: {}", sha256.result_str());
}
$ cargo run                                                                                                                                         [master]
     Running `target/debug/test`
input: test
digest: 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
$ echo -n "test" | openssl dgst -sha256
(stdin)= 9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

ちゃんと openssl と同じ結果になる。

[1] https://crates.io/crates/rust-crypto

Linux で radiko を再生するシェルスクリプト書いた

Linuxradiko を再生するシェルスクリプトを書いた。

先人達がおられたので、車輪の再発明になる。

個人的なシェルスクリプトのお作法に合わせるのと挙動の理解のため、書き直してる。フルスクラッチで書き直して原型がないため、 fork はしてない。

 

github.com


使い方は `play-radiko -h,--help` を見てもらえればわかると思う。

 

参考:
[1]https://gist.github.com/saiten/875864
[2]http://kyoshiaki.hatenablog.com/entry/2014/05/04/184748

はてなブログに移行した

今までは octopress を使って、 Emacs の org-mode で書いて markdown に変換して公開してました。

手元のデスクトップ環境を整理するにあたって、 ruby インストールしたくないなあということで、更新できなくなってました。 hugo っていいなーって思いつつも、移行コストゼロではないので、ウダウダしているうちにブログを書かない体質になってました。

それで、思い切ってはてなブログに移行。

昔の記事はインポートしておきます。
# 気が向いたらゼッタイ!!