2015-01-01から1年間の記事一覧

AES暗号ユーティリティ

AES 暗号をお手軽に使えるよう InputStream/OutputStream にかぶせて使うアダプター Stream をつくってみた。 暗号化アダプター 暗号化したいデータを格納した InputStream is があるとして、これに 16 バイト(あるいは 24、もしくは 32 バイト)の鍵データ…

ブロック暗号の簡単な解説

以下のキーワードの関係をできるだけ平易に説明します。 ブロック暗号 鍵 IV パディング ストリーム暗号 暗号化モード ブロック暗号 AES や DES と呼ばれる暗号はブロック暗号、特定の長さのデータを「鍵」と呼ばれるデータで暗号化する方式です。 データと…

一般的なInputStreamからChannelを生成する

FileInputStream には #getChannel() があるけれど、一般的な InputStream を Channel にしたいときはこうする。: Channel ch = java.nio.channels.Channels#newChannle(InputStream);

StringをInputStreamに変換する

InputStream を受け取る API に、文字列から生成した InputStream を渡したいことがある。 このために StringBufferInputStream があったのだけれど deprecated であり、 StringReader を使うよう推奨されていて困る、ことがある。 自前で String から Input…

巨大ドメインに参加している PC での /etc/passwd, /etc/group ファイルのつくりかた

先日 Cygwin を何度か入れなおす羽目になって、そのときにコンソールに表示されるこのメッセージ。: Your group is currently "mkpasswd". This indicates that your gid is not in /etc/group and your uid is not in /etc/passwd. The /etc/passwd (and p…

Windows 共有を Linux から利用する

CIFS UTILS を使って Linux 上のディレクトリーにマウントする。 準備 1. CIFS UTILS をインストールする sudo apt-get install cifs-utils2. Windows 共有の認証情報を保存する cat > $HOME/.cifs-cred <

マングルされたシンボルのデマングル

逆アセンブルリストに出てくるマングルされたシンボルの羅列があまりにつからったので、ちょろっと調べてデマングルするためのコードを書いてみた。…だがしかし… #include <cxxabi.h> #include <cstdio> #include <cstdlib> int main(int argn, char **args) { if (argn > 1) { int stat</cstdlib></cstdio></cxxabi.h>…