Java 8における堅牢なアプリケーション開発:Base64、Optional、Nashornの活用
Java標準ライブラリによるBase64処理
基本エンコードとデコード
java.util.Base64を利用することで、データの安全な送受信や保管が容易になります。getEncoder()で取得したエンコーダを用いてバイト配列をBase64文字列へ変換し、getDecoder()で元のバイト配列へ復元します。復元時に文字列化する際、エンコード前と同じ文字セットを指定することが重要です。
public static ...
7月17日 01:12 投稿
Hutool ScriptUtils での JavaScript モジュール読み込みエラーの要因と解決策
事象の概要
Hutool ライブラリが提供する ScriptUtils を利用して JavaScript コードを実行する際、スクリプト内に require 文が含まれていると実行失敗が発生するケースがあります。これは特に Node.js 環境で開発されたモジュールを Java 上で動かそうとした際に顕著に現れる問題です。
エラー発生メカニズム
Hutool の ScriptUtils は、デフォルト設定において JDK 標 ...
7月6日 19:04 投稿
JDK 1.8 から Java 内で JavaScript を実行する方法
Java 1.8 では、組み込みの javax.script パッケージを使用して、Java アプリケーション内で JavaScript コードを実行できます。以下に、実際の利用シーンに基づいた複数の例を示します。
例 1: 変数の保存と取得
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
// コンテキストに変数を設定 ...
6月20日 21:19 投稿
AJ-Reportにおけるコマンドインジェクション脆弱性の回避手法と検証
脆弱性の核心は、検証ルールの処理に利用される `engine.eval` メソッドにあります。開発者はセキュリティパッチを適用しましたが、その対策は限定的であり、内部コマンド実行に関わる3つのクラスに対してのみブラックリストによる制限が設けられました。
Java 8で導入されたNashorn JavaScriptエンジンは、スクリプト内からJavaのクラスやメソッドを呼び出すことを可能に ...
5月13日 10:12 投稿