Java
Scala exercise 6: Tackling the Wicket hierarchy mismatch problemという記事に触発されて、同様の手法をJavaで再現してみました。Wicketでネストされたコンポーネントを扱う場合、HTMLテンプレートに比べてJava側は見通しが悪くなりがちだと思います。元…
Wicketでコンポーネントを追加する場所を指定する場合、通常は該当するタグにwicket:idという属性を付与する必要があるのですが、代わりにHTMLのID(class)属性を利用可能とするライブラリを作成してみました。Wicketでコンポーネントを追加する場所を指定す…
以前Wicketを使っていた際は、データベースの操作にHibernate(JPA)を利用していたのですが、今一つ気に入らない部分がありました。下記のような部分です。 設定をXMLファイルで書かないといけない。 テーブル定義とマッピング定義を分離できない。 カラム名…
Bouncy CastleのOpenPGP用ライブラリ(bcpg)を使ってOpenPGP鍵を操作する方法のメモです。以前の日記にsecring.gpgを読み込んで利用する方法がありますので、今回はそれ以外の操作が対象です。 PGPSecretKeyを生成する public PGPSecretKey generateSecretKey…
TLSの例を調べたついでにJCEで実装する方法を調べてみた。CTRモードを使う時の最大の問題はIVをどう扱うかということだったけれど、JCEのCipherではinit()時くらいしかIVの指定する方法がないような気がする。この場合、複数のブロックを暗号化する場合にIV…
Javaは標準では「強力ではあっても制限付きの暗号」という微妙な表現の暗号しか使うことができません。これはブロック暗号なら128ビットまで許可、といったビット数による輸出(輸入?)規制に合わせるために、使用可能なビット数を制限するという意味のようで…
JavaでBluetoothデバイスを探索する方法のメモJavaとWiiリモコンをBluetoothでつなげてみようという記事に触発されて試してみました。といってもWiiリモコンをもっていないので、同じページで紹介されていたbluecoveを使ってみただけです。bluecoveはDLLを含…
鍵生成のついでにJavaから利用する方法のメモ自力で読み込みプログラムを作成すると大変なので、Bouncy Castleのライブラリを利用します。必要なjarファイルはbcprovとbcpgの二つになります。最初にGnuPGの鍵が保存されているsecring.gpgを読み込みます。読…
気がついたらJavaRebelの1.1M1がリリースされてました。購入した人にはメールで教えてくれても良いのになぁと思いつつ、素直にRSSリーダーに登録しろということなのでしょうね。 JavaRebel 1.1 M1 Released変更点自体はアノテーションのリロードに対応したと…
JCEでDiffie-Hellman鍵交換を行う方法を調べた時のメモ*1。内容はAとBが秘密鍵を交換するシンプルなものです。最初にAがベースとなる素数等のパラメータを生成します。AlgorithmParameterGeneratorを使わずに、AlgorithmParametersのinit()にDHAlgorithmPara…
Hibernateでは起動時に自動的にテーブルが作成されるが、それを手動で実行する方法のメモ。Hibernateでのテーブル作成には、SchemaUpdateというクラスを利用すれば良いが、これにはConfigurationという設定クラスを渡す必要がある。起動時にHibernateが構築…
最近PostgreSQLからMySQLに乗り換えたのですが、Hibernateがhbm2ddlでテーブルを生成する時にエラーが出るようになってしまいました。Hibernateでテーブルの自動生成をすると、フィールド名がそのままカラム名になるため、MySQLの予約語と同じフィールド名が…