2011-06-01から1ヶ月間の記事一覧

HSPによるGUI化 - Camelliaによるファイルの暗号化

先に作成したCamelliaによるファイル暗号化プログラムは コマンドラインツールであり、この手のツールとしては かなり使いにくい。 ということでGUI化してみた。(GUI wrapperを作ってみた)以下の標準HSPにはない要素を盛り込んでみた。 ドラグ&ドロップによ…

HSPによるGUI化 - タスクを強制終了する

sakura editor(1-6-x-x)はPerlで書いたマクロを実行すると頻繁に落ちる。 落ちる度に開いていたファイルの数だけタスクマネージャからプロセスを 終了しなければならず、編集途中のファイルが消えるだけでなく 苦痛まで強いられる。firefoxもよくプロセスが…

HSPでのpipeexecをWindows APIで実装する(popen(), pclose())

HSPでコンソールアプリケーションをGUI化するには、 標準出力・標準エラーを取得したり処理を中断したりする必要がある。 HSPにはpipeexecという拡張機能が用意されているが、以下の問題がある。 起動したプロセスを中断できない 出力用のバッファが巨大にな…

GUIとしてHSPを使う

GUI(Graphical User Interface)に何を使うかは非常に悩ましい。 クロスプロットフォームのような崇高な目標を掲げるといつまでも 目処が立たず、自分用のツールと割り切って一番楽な方法を 検討した結果、HSPに落ち着いた。 難しいことはC言語(MinGW)やPerl/…

Camelliaでファイルを暗号化してみる

ZIPファイルフォーマット(コンテナ)のように、Camelliaで暗号化した ファイルを格納できる標準のファイルフォーマットはないようだ。 折角の国産暗号モジュールなので独自にファイルフォーマットを 定義して任意のファイルをCamelliaで暗号化してみる。 必要…

MinGWでkill()ライクな関数を作る

MinGWのsignal関連ライブラリにはkill()が含まれない。 簡易的にprocessをkillする関数を作ってみる。 Windows APIを使う SIGNALに何が指定されても強制的にprocessをkillするだけなら以下の実装で可能。 int killpid(int pid, int sig) { HANDLE hProcess; …

Camelliaを使ったexample(サンプル)コード

Camelliaとは 国産でAES並の強度を持つ共通鍵暗号アルゴリズム http://info.isl.ntt.co.jp/crypt/camellia/intro.html Cソース(暗号エンジン) 以下からライセンスの緩いBSDをdownload http://info.isl.ntt.co.jp/crypt/camellia/engine.html 使い方 使い方の…