« b2evolutionにscribeFireを使って投稿めんべい »

リファクタリング

2008/04/21

  00:22:58 by , Categories: SymbianOS, Freesoftware and Open Source Software, Java

Link: http://www.da-cha.jp/?q=node/378

SafeというGPLのアプリケーションの改造を行っている。CLDC/MIDP上で動くJ2MEのアプリケーションだ。メインターゲットは、Symbian OSを採用しているNokiaやMotorolaの携帯電話。

このアプリケーションは、パスワード等の情報を暗号化して、携帯デバイス上で管理するソフトウエアである。類似のアプリケーションで、Palm OSでよく利用されるものに、Keyring for PalmOSがある。

Safeは、対称鍵暗号にIDEAを使用し、パスワードハッシュにMD5を利用している。現在アルファ版のKeyring for PalmOS v2.0を参考に、つぎのことをやろうとしている。

  1. AESを使用
  2. ハッシュにSHA利用
  3. AESの利用に当たっては、Initial Vectorをきちんと使用し、データストアにもIVを保存する
  4. データの構造としてtitle/contentという単純なデータ構造から、title, account, password, note, last modified dateという形にする。
  5. プログラムの構造を整理する

このうち、AES利用やハッシュ、IVの処理あたりを片付けた。さてと、データ構造の変更をかけようとしたら、データ定義、export, data storeへの書き出しなど、多箇所の変更を余儀なくされる状況になった。
これは、プログラム設計がよくないということ。そこで、リファクタリングである。

暗号化されていないデータ要素(element)、その暗号化された要素、データストアへの書き出し(ファイル、XML、GUI)、データストアからの取り込み(ファイル、XML, GUI)といったものを、DecoratorやAbstractFactoryパターンで表現できそうな気がしてきたところで、就寝時間である。

Trackback address for this post

Trackback URL (right click and copy shortcut/link location)

Feedback awaiting moderation

This post has 1 feedback awaiting moderation...


Form is loading...