クラス HybsCryptography
- java.lang.Object
-
- org.opengion.fukurou.security.HybsCryptography
-
public final class HybsCryptography extends Object
HybsCryptography は、セキュリティ強化の為の Hybs独自の暗号化クラスです。 このクラスは、暗号化キーを受け取り、それに基づいて暗号化/復号化を行います。 ここでの暗号化は、秘密キー方式でバイト文字列に変換されたものを、16進アスキー文字に 直して、扱っています。よって、暗号化/復号化共に、文字列として扱うことが可能です。- 変更履歴:
- 4.0.0.0 (2005/08/31) 新規追加, 5.9.10.0 (2019/03/01) クラウドストレージ対応を追加。(Fileクラスを拡張)
- 機能分類
- ライセンス管理
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 HybsCryptography()
内部設定の秘密鍵を使用して,暗号化を行うオブジェクトを構築します。HybsCryptography(String cryptKey)
秘密鍵の文字列を受け取って,暗号化を行うオブジェクトを構築します。
-
メソッドの概要
すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 static String
byte2hexa(byte[] input)
バイト配列を16進数アスキー文字列に変換します。String
decrypt(String hex)
セキュリティカラムのDBTyepに対してHybs独自の復号化を行います。String
encrypt(String org)
セキュリティカラムのDBTyepに対してHybs独自の暗号化を行います。static String
getMD5(File input)
MessageDigestにより、MD5 でハッシュした文字に変換します。static String
getMD5(String input)
MessageDigestにより、MD5 でハッシュした文字に変換します。static String
getMD5(FileOperation input)
MessageDigestにより、MD5 でハッシュした文字に変換します。static String
getSHA1(String input)
MessageDigestにより、SHA1 でハッシュした文字に変換します。static String
getSHA512(String input)
MessageDigestにより、SHA-512 でハッシュした文字に変換します。static byte[]
hexa2byte(String input)
16進数アスキー文字列をバイト配列に変換します。static void
main(String[] args)
暗号化のテストを行う為のメインメソッド java HybsCryptography KEY TEXT で起動します。
-
-
-
コンストラクタの詳細
-
HybsCryptography
public HybsCryptography()
内部設定の秘密鍵を使用して,暗号化を行うオブジェクトを構築します。 ここでの暗号化は、Java標準のセキュリティパッケージを使用しています。- 変更履歴:
- 6.2.5.0 (2015/06/05) 引数付コンストラクタを使用
-
HybsCryptography
public HybsCryptography(String cryptKey)
秘密鍵の文字列を受け取って,暗号化を行うオブジェクトを構築します。 ここでの暗号化は、Java標準のセキュリティパッケージを使用しています。 秘密鍵のサイズを、8 の倍数 (32 以上 448 以下) にする必要があります。- パラメータ:
cryptKey
- 暗号化を行う秘密鍵- 変更履歴:
- 5.8.8.0 (2015/06/05) null時の挙動はデフォルトキーを利用する
-
-
メソッドの詳細
-
encrypt
public String encrypt(String org)
セキュリティカラムのDBTyepに対してHybs独自の暗号化を行います。 暗号化されたデータは、通常 byte 文字ですが、16進数アスキー文字列に変換 したものを返します。 この暗号化では、引数が null の場合は、ゼロ文字列を返します。- パラメータ:
org
- 暗号化を行う元の文字列- 戻り値:
- 暗号化された文字列(HEXADECIMAL化)
- 変更履歴:
- 5.7.2.1 (2014/01/17) Exceptionをまとめます。
- このメソッドは、nullを返しません
-
decrypt
public String decrypt(String hex)
セキュリティカラムのDBTyepに対してHybs独自の復号化を行います。 ここでの復号化は、encrypt で暗号化された文字を戻す場合に使用します。 この復号化では、null は復号化できないため、ゼロ文字列を返します。- パラメータ:
hex
- 復号化を行う暗号化された16進数アスキー文字列- 戻り値:
- 復号化された元の文字列
- 変更履歴:
- 5.7.2.1 (2014/01/17) Exceptionをまとめます。
- このメソッドは、nullを返しません
-
byte2hexa
public static String byte2hexa(byte[] input)
バイト配列を16進数アスキー文字列に変換します。 バイト配列を、2文字の0~9,a~fのアスキーに変換されます。 これにより、すべての文字を、アスキー化できます。 アスキー化で、上位が0F以下の場合でも、0 を出すことで、固定長に変換します。 よって、入力バイトの2倍のlength()を持ったStringを作成します。- パラメータ:
input
- バイト配列- 戻り値:
- 16進数アスキー文字列
-
hexa2byte
public static byte[] hexa2byte(String input)
16進数アスキー文字列をバイト配列に変換します。 2文字の0~9,a~fのアスキー文字列を、バイト配列に変換されます。 よって、入力Stringの1/2倍のlengthを持ったバイト配列を作成します。- パラメータ:
input
- 16進数アスキー文字列- 戻り値:
- バイト配列
-
getMD5
public static String getMD5(String input)
MessageDigestにより、MD5 でハッシュした文字に変換します。 MD5で、16Byteのバイトに変換されますが、ここでは、16進数で文字列に変換しています。 変換方法は、各バイトの上位/下位を16進文字列に変換後、連結しています。 これは、Tomcat等の digest 認証(MD5使用時)と同じ変換方式です。 連結後の文字列長は、32バイト(固定)になります。- パラメータ:
input
- 変換前の文字列- 戻り値:
- MD5でハッシュした文字列。32バイト(固定)
- 変更履歴:
- 5.2.2.0 (2010/11/01) util.StringUtil から移動
-
getMD5
public static String getMD5(FileOperation input)
MessageDigestにより、MD5 でハッシュした文字に変換します。 MD5で、16Byteのバイトに変換されますが、ここでは、16進数で文字列に変換しています。 変換方法は、各バイトの上位/下位を16進文字列に変換後、連結しています。 これは、Tomcat等の digest 認証(MD5使用時)と同じ変換方式です。 連結後の文字列長は、32バイト(固定)になります。 下記サイトを参考に作成しています。 https://stackoverflow.com/questions/304268/getting-a-files-md5-checksum-in-java- パラメータ:
input
- 変換前のFileOperationオブジェクト- 戻り値:
- MD5でハッシュした文字列。32バイト(固定)
- 変更履歴:
- 5.9.10.0 (2019/03/01) 新規追加。クラウドストレージ対応。
-
getMD5
public static String getMD5(File input)
MessageDigestにより、MD5 でハッシュした文字に変換します。 MD5で、16Byteのバイトに変換されますが、ここでは、16進数で文字列に変換しています。 変換方法は、各バイトの上位/下位を16進文字列に変換後、連結しています。 これは、Tomcat等の digest 認証(MD5使用時)と同じ変換方式です。 連結後の文字列長は、32バイト(固定)になります。- パラメータ:
input
- 変換前のFile- 戻り値:
- MD5でハッシュした文字列。32バイト(固定)
- 変更履歴:
- 5.7.2.1 (2014/01/17) Exceptionをまとめます。, 5.9.10.0 (2019/03/01) クラウドストレージ対応を追加
-
getSHA1
public static String getSHA1(String input)
MessageDigestにより、SHA1 でハッシュした文字に変換します。 16進数で文字列に変換しています。 変換方法は、各バイトの上位/下位を16進文字列に変換後、連結しています。 これは、Tomcat等の digest 認証と同じ変換方式です。- パラメータ:
input
- 変換前の文字列- 戻り値:
- SHA1でハッシュした文字列。32バイト(固定)
- 変更履歴:
- 5.9.27.1 (2010/12/08) 新規作成
-
getSHA512
public static String getSHA512(String input)
MessageDigestにより、SHA-512 でハッシュした文字に変換します。 16進数で文字列に変換しています。 変換方法は、各バイトの上位/下位を16進文字列に変換後、連結しています。 これは、Tomcat等の digest 認証と同じ変換方式です。- パラメータ:
input
- 変換前の文字列- 戻り値:
- SHA-512でハッシュした文字列 128バイト
- 変更履歴:
- 5.10.10.2 (2019/04/12) 新規作成
-
main
public static void main(String[] args)
暗号化のテストを行う為のメインメソッド java HybsCryptography KEY TEXT で起動します。 KEY : 秘密鍵(8 の倍数 (32 以上 448 以下)文字) TEXT : 変換する文字列- パラメータ:
args
- 引数配列- 変更履歴:
- 5.2.2.0 (2010/11/01) 循環参照の解消(LogWriter 削除)
-
-