#CitrrasLab

シトラスラボ – プログラミング、ウイスキー、ガジェットの他、日々の生活に役立つものを紹介

C# DayOne

DayOne の Windows クライアント開発メモ 1

投稿日:2013/12/11 更新日:

DayOne の Windows クライアントを開発している際のメモを記す。

Day One (日誌 / 日記)
カテゴリ: ライフスタイル
現在の価格: ¥500

本日は Dropbox に保存される DayOne のファイル名について。

以前のエントリ(DayOneのWindowsクライアントが欲しい)でも書いたが、

DayOne はこんな感じのファイルで保存される。

51FE045447B2D3584B83D6EC2D5B89E1.doentry

(32文字の文字列).doentry

doentry は DayOneENTRY の略だろう。

32文字の文字列は、何かのハッシュ値だと思われるが、何かはわからない。

16進数で32桁なので、16byte(128bit)のハッシュ値である。
128bitを出力するハッシュ関数といえば、有名なMD5がある。

MD5(エムディーファイブ、Message Digest Algorithm 5)とは、与えられた入力に対して128ビットのハッシュ値を出力するハッシュ関数である。

via: MD5 – Wikipedia

何かを入力として、MD5を使えばDayOneのファイル名は生成できる。

単純にいくと現在時刻といったところか。
ミリ秒まで使って、できるだけ衝突しないようにする。

C#でのMD5の使い方は以下のサイトを参考にした。

MD5やSHA1などでハッシュ値を計算する: .NET Tips: C#, VB.NET

現在時刻の文字列については以下。

C# – 指定した書式で日付を文字列に変換する

また、DayOne のファイル名のアルファベットはすべて大文字なので、
MD5で出力された文字列に含まれるアルファベットを大文字に変換する必要がある。

C# – 文字列を大文字に変換する

ad

ad

-C#, DayOne

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

関連記事はありませんでした