クラス HybsCryptography


  • public final class HybsCryptography
    extends java.lang.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​(java.lang.String cryptKey)
      秘密鍵の文字列を受け取って,暗号化を行うオブジェクトを構築します。
    • メソッドの概要

      すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      static java.lang.String byte2hexa​(byte[] input)
      バイト配列を16進数アスキー文字列に変換します。
      java.lang.String decrypt​(java.lang.String hex)
      セキュリティカラムのDBTyepに対してHybs独自の復号化を行います。
      java.lang.String encrypt​(java.lang.String org)
      セキュリティカラムのDBTyepに対してHybs独自の暗号化を行います。
      static java.lang.String getMD5​(java.io.File input)
      MessageDigestにより、MD5 でハッシュした文字に変換します。
      static java.lang.String getMD5​(java.lang.String input)
      MessageDigestにより、MD5 でハッシュした文字に変換します。
      static java.lang.String getMD5​(FileOperation input)
      MessageDigestにより、MD5 でハッシュした文字に変換します。
      static java.lang.String getSHA1​(java.lang.String input)
      MessageDigestにより、SHA1 でハッシュした文字に変換します。
      static java.lang.String getSHA512​(java.lang.String input)
      MessageDigestにより、SHA-512 でハッシュした文字に変換します。
      static byte[] hexa2byte​(java.lang.String input)
      16進数アスキー文字列をバイト配列に変換します。
      static void main​(java.lang.String[] args)
      暗号化のテストを行う為のメインメソッド java HybsCryptography KEY TEXT で起動します。
      • クラスから継承されたメソッド java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • コンストラクタの詳細

      • HybsCryptography

        public HybsCryptography()
        内部設定の秘密鍵を使用して,暗号化を行うオブジェクトを構築します。 ここでの暗号化は、Java標準のセキュリティパッケージを使用しています。
        変更履歴:
        6.2.5.0 (2015/06/05) 引数付コンストラクタを使用
      • HybsCryptography

        public HybsCryptography​(java.lang.String cryptKey)
        秘密鍵の文字列を受け取って,暗号化を行うオブジェクトを構築します。 ここでの暗号化は、Java標準のセキュリティパッケージを使用しています。 秘密鍵のサイズを、8 の倍数 (32 以上 448 以下) にする必要があります。
        パラメータ:
        cryptKey - 暗号化を行う秘密鍵
        変更履歴:
        5.8.8.0 (2015/06/05) null時の挙動はデフォルトキーを利用する
    • メソッドの詳細

      • encrypt

        public java.lang.String encrypt​(java.lang.String org)
        セキュリティカラムのDBTyepに対してHybs独自の暗号化を行います。 暗号化されたデータは、通常 byte 文字ですが、16進数アスキー文字列に変換 したものを返します。 この暗号化では、引数が null の場合は、ゼロ文字列を返します。
        パラメータ:
        org - 暗号化を行う元の文字列
        戻り値:
        暗号化された文字列(HEXADECIMAL化)
        変更履歴:
        5.7.2.1 (2014/01/17) Exceptionをまとめます。
        このメソッドは、nullを返しません
      • decrypt

        public java.lang.String decrypt​(java.lang.String hex)
        セキュリティカラムのDBTyepに対してHybs独自の復号化を行います。 ここでの復号化は、encrypt で暗号化された文字を戻す場合に使用します。 この復号化では、null は復号化できないため、ゼロ文字列を返します。
        パラメータ:
        hex - 復号化を行う暗号化された16進数アスキー文字列
        戻り値:
        復号化された元の文字列
        変更履歴:
        5.7.2.1 (2014/01/17) Exceptionをまとめます。
        このメソッドは、nullを返しません
      • byte2hexa

        public static java.lang.String byte2hexa​(byte[] input)
        バイト配列を16進数アスキー文字列に変換します。 バイト配列を、2文字の0~9,a~fのアスキーに変換されます。 これにより、すべての文字を、アスキー化できます。 アスキー化で、上位が0F以下の場合でも、0 を出すことで、固定長に変換します。 よって、入力バイトの2倍のlength()を持ったStringを作成します。
        パラメータ:
        input - バイト配列
        戻り値:
        16進数アスキー文字列
      • hexa2byte

        public static byte[] hexa2byte​(java.lang.String input)
        16進数アスキー文字列をバイト配列に変換します。 2文字の0~9,a~fのアスキー文字列を、バイト配列に変換されます。 よって、入力Stringの1/2倍のlengthを持ったバイト配列を作成します。
        パラメータ:
        input - 16進数アスキー文字列
        戻り値:
        バイト配列
      • getMD5

        public static java.lang.String getMD5​(java.lang.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 java.lang.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 java.lang.String getMD5​(java.io.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 java.lang.String getSHA1​(java.lang.String input)
        MessageDigestにより、SHA1 でハッシュした文字に変換します。 16進数で文字列に変換しています。 変換方法は、各バイトの上位/下位を16進文字列に変換後、連結しています。 これは、Tomcat等の digest 認証と同じ変換方式です。
        パラメータ:
        input - 変換前の文字列
        戻り値:
        SHA1でハッシュした文字列。32バイト(固定)
        変更履歴:
        5.9.27.1 (2010/12/08) 新規作成
      • getSHA512

        public static java.lang.String getSHA512​(java.lang.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​(java.lang.String[] args)
        暗号化のテストを行う為のメインメソッド java HybsCryptography KEY TEXT で起動します。 KEY : 秘密鍵(8 の倍数 (32 以上 448 以下)文字) TEXT : 変換する文字列
        パラメータ:
        args - 引数配列
        変更履歴:
        5.2.2.0 (2010/11/01) 循環参照の解消(LogWriter 削除)