java.lang.Object └ CryptUtil
DES方式の秘密鍵(非公開鍵)を用いて暗号化・復号化を行う。
フィールドの概要 | |
private int |
buffSize
エンコード/デコードする単位バッファサイズ |
private java.lang.String |
DEFAULT_ALGORITHM
暗号化方式 |
private byte[] |
keyMaterial
デフォルトのSecretKeyを作成するためのbyte[] |
private javax.crypto.SecretKey |
secretKey
SecretKey |
コンストラクタの概要 | |
CryptUtil()
デフォルトコンストラクタ |
|
CryptUtil(byte[] keyMaterial)
byte[]から秘密鍵を生成して設定するコンストラクタ |
|
CryptUtil(javax.crypto.SecretKey key)
秘密鍵を受け取って設定するコンストラクタ |
メソッドの概要 | |
private javax.crypto.SecretKey |
createDESCryptKey(byte[] keyMaterial)
DES方式の秘密鍵を生成する |
private void |
crypt(int opmode,
java.security.Key key,
java.io.InputStream in,
java.io.OutputStream out)
モードに従って、InputStreamの内容をKeyを用いて、 暗号化/復号化してOutputStreamに書き出す |
void |
decrypt(java.io.InputStream in,
java.io.OutputStream out)
InputStreamの内容を復号化してOutputStreamに書き出す |
java.lang.String |
decryptString(java.lang.String str)
文字列のHex逆変換、及びDES複合化 |
void |
encrypt(java.io.InputStream in,
java.io.OutputStream out)
InputStreamの内容を暗号化してOutputStreamに書き出す |
java.lang.String |
encryptString(java.lang.String str)
文字列のDES暗号化、及びHex変換 |
private byte[] |
getKeyMaterial()
キーマテリアルを取得する |
private javax.crypto.SecretKey |
getSecretKey()
秘密鍵を取得する |
static void |
main(java.lang.String[] args)
テストメインメソッド |
private void |
setKeyMaterial(byte[] keyMaterial)
キーマテリアルを設定する |
private void |
setSecretKey(javax.crypto.SecretKey key)
秘密鍵を設定する |
java.lang.String |
simpleDecryptString(java.lang.String str)
文字列のHex逆変換 |
java.lang.String |
simpleEncryptString(java.lang.String str)
文字列のHex変換 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
private final java.lang.String DEFAULT_ALGORITHM
private int buffSize
private byte[] keyMaterial
private javax.crypto.SecretKey secretKey
コンストラクタの詳細 |
public CryptUtil() throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
java.security.spec.InvalidKeySpecException
public CryptUtil(javax.crypto.SecretKey key)
key
- 秘密鍵public CryptUtil(byte[] keyMaterial) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException
keyMaterial
- 秘密鍵生成のためのバイト配列
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
java.security.spec.InvalidKeySpecException
メソッドの詳細 |
private final void setSecretKey(javax.crypto.SecretKey key)
key
- 秘密鍵private final javax.crypto.SecretKey getSecretKey()
private final void setKeyMaterial(byte[] keyMaterial)
keyMaterial
- 秘密鍵生成のためのバイト配列private final byte[] getKeyMaterial()
public void encrypt(java.io.InputStream in, java.io.OutputStream out) throws javax.crypto.NoSuchPaddingException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, java.io.IOException
in
- 入力out
- 出力
javax.crypto.NoSuchPaddingException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
javax.crypto.BadPaddingException
javax.crypto.IllegalBlockSizeException
java.io.IOException
public void decrypt(java.io.InputStream in, java.io.OutputStream out) throws javax.crypto.NoSuchPaddingException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, java.io.IOException
in
- 入力out
- 出力
javax.crypto.NoSuchPaddingException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
javax.crypto.BadPaddingException
javax.crypto.IllegalBlockSizeException
java.io.IOException
private void crypt(int opmode, java.security.Key key, java.io.InputStream in, java.io.OutputStream out) throws javax.crypto.NoSuchPaddingException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, java.io.IOException
opmode
- オペレーションモードkey
- 秘密鍵in
- 入力out
- 出力
javax.crypto.NoSuchPaddingException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
javax.crypto.BadPaddingException
javax.crypto.IllegalBlockSizeException
java.io.IOException
private javax.crypto.SecretKey createDESCryptKey(byte[] keyMaterial) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.spec.InvalidKeySpecException
keyMaterial
- キーマテリアル
java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
java.security.spec.InvalidKeySpecException
public java.lang.String encryptString(java.lang.String str) throws javax.crypto.NoSuchPaddingException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, java.io.IOException
str
- 暗号化する文字列
javax.crypto.NoSuchPaddingException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
javax.crypto.BadPaddingException
javax.crypto.IllegalBlockSizeException
java.io.IOException
public java.lang.String decryptString(java.lang.String str) throws javax.crypto.NoSuchPaddingException, java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, java.io.IOException
str
- 複合化する文字列
javax.crypto.NoSuchPaddingException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
javax.crypto.BadPaddingException
javax.crypto.IllegalBlockSizeException
java.io.IOException
public java.lang.String simpleEncryptString(java.lang.String str) throws java.io.IOException
str
- 変換する文字列
java.io.IOException
public java.lang.String simpleDecryptString(java.lang.String str) throws java.io.IOException, java.lang.ClassNotFoundException
str
- 逆変換する文字列
java.io.IOException
java.lang.ClassNotFoundException
public static void main(java.lang.String[] args)
args
- 引数