openGionopenGion
5.2.2.0

org.opengion.fukurou.security
クラス URLHashMap

java.lang.Object
  上位を拡張 org.opengion.fukurou.security.URLHashMap

public final class URLHashMap
extends java.lang.Object

URLHashMap は、セキュリティ強化の為の Hybs独自の暗号化クラスです。 このクラスは、暗号化キーを受け取り、それに基づいて暗号化/復号化を行います。 ここでの暗号化は、秘密キー方式でバイト文字列に変換されたものを、16進アスキー文字に 直して、扱っています。よって、暗号化/復号化共に、文字列として扱うことが可能です。

変更履歴:
5.2.2.0 (2010/11/01) 新規追加
機能階層
ライセンス管理
バージョン
5.2.2.0 (2010/11/01)
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK1.6,

コンストラクタの概要
URLHashMap()
           
 
メソッドの概要
static java.lang.String getValue(java.lang.String key)
          指定のキーに対応した設定値を取り出します。
static java.lang.String makeEncrypt(java.lang.String val)
          引数の設定値を暗号化したときの値を作成します。
static java.lang.String makeHashKey(java.lang.String val)
          引数の設定値をハッシュ化したときの値(=ハッシュキー)を作成します。
static java.lang.String makeUrlChange(java.lang.String url, java.lang.String hkey, boolean extOnly)
          URL をハッシュ化/暗号化して返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

URLHashMap

public URLHashMap()
メソッドの詳細

makeUrlChange

public static java.lang.String makeUrlChange(java.lang.String url,
                                             java.lang.String hkey,
                                             boolean extOnly)
URL をハッシュ化/暗号化して返します。 共通処理を簡易化するための、便利メソッドです。 ここでのハッシュ化/暗号化は、URLのパラメータ(?以降の部分)のみ行います。 また、ここで渡す文字列は、URLを含む文字列なので、href のキーワードを 手がかりに、? を探して、その部分のみ、変換します。 href を含まない場合は、それ自体が URL と判断して、? を探します。 ? が存在しないケースは、url をそのまま返します。 URLのアドレスが、"/" から始まる場合は、自身のアドレスと判断し、ハッシュ処理を行います。 そうでない場合(http:// や ../ の場合)は、暗号化処理を行います。 第2引数は、ハッシュ化/暗号化されたパラメータを指定するキーになります。(標準は、h_r) 処理を選択します。 href を含まず、'?' だけを含む場合は、'?' 以降を暗号化します。 ハッシュの場合、このキーを元に、設定値を内部キャッシュ(Map)に設定します。 Map は、3世代持っており、内部キャッシュ(SIZE=6000)を超えると、2世代目に移行し、 さらに、超えると、3世代目に移行します。3世代目は、WeakHashMap を利用している ため、場合によってはデータがなくなり、アクセス不能になっている可能性があります。

パラメータ:
url - String オリジナルのURL または、URL を含む文字列
hkey - String パラメータのキーとして使用する文字
extOnly - boolean 外部URLの場合のみ処理を実行する場合 true
戻り値:
String 変換されたURL を含む文字列

makeHashKey

public static java.lang.String makeHashKey(java.lang.String val)
引数の設定値をハッシュ化したときの値(=ハッシュキー)を作成します。 内部的に、このハッシュキーを元に、設定値を内部キャッシュ(Map)に設定します。 このMapは、WeakHashMap を利用しているため、場合によってはデータがなくなり、 アクセス不能になっている可能性があります。

パラメータ:
val - String オリジナルの設定値
戻り値:
String ハッシュキー

makeEncrypt

public static java.lang.String makeEncrypt(java.lang.String val)
引数の設定値を暗号化したときの値を作成します。 暗号化なので、ハッシュ化の時の用に、内部キャッシュ(Map)に設定しません。 処理時間等を考慮すると、外部URLの暗号化や、長期にわたるURL(一旦、システムの 外部にURLを渡す:例えば、メールでリンク先を送信するなど)の作成に使用します。

パラメータ:
val - String オリジナルの設定値
戻り値:
String 暗号化キー

getValue

public static java.lang.String getValue(java.lang.String key)
指定のキーに対応した設定値を取り出します。 ここでは、ハッシュ化 または 暗号化されているキーに対して、 ハッシュキーであれば、関連付けられた設定値を取り出し、暗号化キーで あれば、復号化処理を行います。

パラメータ:
key - String ハッシュ化/暗号化されたキー
戻り値:
String オリジナルの設定値

openGion 5.2.2.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.