|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--javax.crypto.Cipher
ÀÌ Å¬·¡½º´Â ¾ÏÈ£È ¹× º¹È£È(decode)ÀÇ ±â´ÉÀ» Á¦°øÇØ, JCE (Java Cryptographic Extension) üÁ¦ÀÇ Äھ Çü¼ºÇÕ´Ï´Ù.
Cipher ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÏ·Á¸é , ¾îÇø®ÄÉÀ̼ÇÀº Cipher ÀÇ getInstance
¸Þ¼Òµå¸¦ È£ÃâÇØ, ¿ä±¸µÈ ¡¸º¯È¯¡¹ÀÇ À̸§À» °Ç³×ÁÝ´Ï´Ù. Çʿ信 µû¶ó¼, ÇÁ·Î¹ÙÀÌ´õÀÇ À̸§À» ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
¡¸º¯È¯¡¹À̶õ, Ãâ·ÂÀ» »ý¼ºÇϱâ À§Çؼ, ÁöÁ¤µÈ ÀԷ¿¡ ´ëÇØ¼ ½ÇÇàÇÏ´Â Á¶ÀÛ (¶Ç´Â ÀÏ·ÃÀÇ Á¶ÀÛ)À» ±â¼úÇϴ ij¸¯ÅÍ ¶óÀÎÀÔ´Ï´Ù. º¯È¯¿¡´Â Ç×»ó ¾ÏÈ£È ¾Ë°í¸®Áò¸í (DES µî)ÀÌ Æ÷ÇԵǾî ÀÖ¾î Çǵå¹é ¸ðµå¿Í ÆÐµù ¹æ½ÄÀÌ ³ªÁß¿¡ °è¼ÓµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
º¯È¯ÀÇ Çü½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.
ÈÄÀÚÀÇ °æ¿ì, ¸ðµå¿Í ÆÐµù ¹æ½Ä¿¡ ´ëÇØ¼´Â ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® °ª°¡ »ç¿ëµË´Ï´Ù. À¯È¿ÇÑ º¯È¯ÀÇ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.
Cipher c = Cipher.getInstance("DES/CBC/PKCS5Padding");
½ºÆ®¸² ¾ÏÈ£È ¸ðµå·Î ºí·Ï ¾ÏÈ£¸¦ ¿ä±¸ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î,CFB
¶Ç´Â OFB
¸ðµåÀÇ DES
)´Â Çʿ信 µû¶ó¼ ÇÑ ¹ø¿¡ ó¸®ÇÏ´Â ºñÆ®¼ö¸¦ ÁöÁ¤ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ÁöÁ¤ÇÏ·Á¸é ,"DES/CFB8/NoPadding" ¹× "DES/OFB32/PKCS5Padding" º¯È¯À¸·Î ³ªÅ¸³ªµµ·Ï(µíÀÌ), ºñÆ®¼ö¸¦ ¸ðµå¸í¿¡ Ãß°¡ÇÕ´Ï´Ù. ºñÆ®¼öÀÇ ÁöÁ¤ÀÌ ¾ø´Â °æ¿ì´Â ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® °ª°¡ »ç¿ëµË´Ï´Ù (¿¹¸¦ µé¾î, ¡¸SunJCE¡¹ÇÁ·Î¹ÙÀÌ´õ´Â µðÆúÆ®ÀÇ 64 ºñÆ®¸¦ »ç¿ë).
KeyGenerator
,
SecretKey
ÇʵåÀÇ °³¿ä | |
static int |
DECRYPT_MODE
¾ÏÈ£¸¦ º¹È£È(decode) ¸ðµå¿¡ ÃʱâÈÇϴµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
static int |
ENCRYPT_MODE
¾ÏÈ£¸¦ ¾ÏÈ£È ¸ðµå¿¡ ÃʱâÈÇϴµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
static int |
PRIVATE_KEY
·¦ ÇØÁ¦µÇ´Â ¿¼è°¡ ¡¸ºñ°ø°³¿¼è¡¹ÀÎ °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
static int |
PUBLIC_KEY
·¦ ÇØÁ¦µÇ´Â ¿¼è°¡ ¡¸°ø°³¿¼è¡¹ÀÎ °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
static int |
SECRET_KEY
·¦ ÇØÁ¦µÇ´Â ¿¼è°¡ ¡¸ºñ¹Ð¿¼è¡¹ÀÎ °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
static int |
UNWRAP_MODE
¾ÏÈ£¸¦ ¿¼è ·¦ÇÎ ÇØÁ¦ ¸ðµå¿¡ ÃʱâÈÇϴµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
static int |
WRAP_MODE
¾ÏÈ£¸¦ ¿¼è ·¦ÇÎ ¸ðµå¿¡ ÃʱâÈÇϴµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù. |
»ý¼ºÀÚÀÇ °³¿ä | |
protected |
Cipher (CipherSpi cipherSpi,
Provider provider,
String transformation)
Cipher ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
byte[] |
doFinal ()
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» Á¾·áÇÕ´Ï´Ù. |
byte[] |
doFinal (byte[] input)
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) ÇÏ´ÂÁö º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. |
int |
doFinal (byte[] output,
int outputOffset)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» Á¾·áÇÕ´Ï´Ù. |
byte[] |
doFinal (byte[] input,
int inputOffset,
int inputLen)
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) ÇÏ´ÂÁö º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. |
int |
doFinal (byte[] input,
int inputOffset,
int inputLen,
byte[] output)
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) ÇÏ´ÂÁö º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. |
int |
doFinal (byte[] input,
int inputOffset,
int inputLen,
byte[] output,
int outputOffset)
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) ÇÏ´ÂÁö º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. |
String |
getAlgorithm ()
ÀÌ Cipher ¿ÀºêÁ§Æ®ÀÇ ¾Ë°í¸®Áò¸íÀ» µ¹·ÁÁÝ´Ï´Ù.
|
int |
getBlockSize ()
ºí·Ï »çÀÌÁ µ¹·ÁÁÝ´Ï´Ù (¹ÙÀÌÆ® ´ÜÀ§). |
ExemptionMechanism |
getExemptionMechanism ()
ÀÌ ¾ÏÈ£·Î »ç¿ëµÇ´Â Á¦¿Ü ±â±¸ ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
static Cipher |
getInstance (String transformation)
ÁöÁ¤µÈ º¯È¯À» ±¸ÇöÇÏ´Â Cipher ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
|
static Cipher |
getInstance (String transformation,
Provider provider)
ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ Á¦°øµÇ´Â ÁöÁ¤µÈ º¯È¯À» ±¸ÇöÇÏ´Â Cipher ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
static Cipher |
getInstance (String transformation,
String provider)
ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ Á¦°øµÇ´Â ÁöÁ¤µÈ º¯È¯À» ±¸ÇöÇÏ´Â Cipher ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
byte[] |
getIV ()
»õ·Î¿î ¹öÆÛÀÇ ÃʱâÈ º¤ÅÍ (IV)¸¦ µ¹·ÁÁÝ´Ï´Ù. |
int |
getOutputSize (int inputLen)
ÀÔ·ÂÀÇ ±æÀÌ inputLen (¹ÙÀÌÆ® ´ÜÀ§)¸¦ ÁöÁ¤ÇØ, ´ÙÀ½ÀÇ update ¶Ç´Â doFinal Á¶ÀÛÀÇ °á°ú¸¦ º¸°ü À¯ÁöÇϱâ À§Çؼ ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ ±æÀ̸¦ ¹ÙÀÌÆ®¼ö·Î µ¹·ÁÁÝ´Ï´Ù.
|
AlgorithmParameters |
getParameters ()
ÀÌ ¾ÏÈ£·Î »ç¿ëµÇ´Â ÆÄ¶ó¹ÌÅ͸¦ µ¹·ÁÁÝ´Ï´Ù. |
Provider |
getProvider ()
ÀÌ Cipher ¿ÀºêÁ§Æ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ¸¦ µ¹·ÁÁÝ´Ï´Ù. |
void |
init (int opmode,
Certificate certificate)
ÀÌ ¾ÏÈ£¸¦, °ËÁõ Á¶ÀÛÀ» À§Çؼ(¶§¹®¿¡) ÁöÁ¤µÈ °ø°³¿¼è·Î ÃʱâÈÇÕ´Ï´Ù. |
void |
init (int opmode,
Certificate certificate,
SecureRandom random)
ÀÌ ¾ÏÈ£¸¦, °ËÁõ Á¶ÀÛÀ» À§Çؼ(¶§¹®¿¡) ÁöÁ¤µÈ °ø°³¿¼è ¹× ³¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÃʱâÈÇÕ´Ï´Ù. |
void |
init (int opmode,
Key key)
¿¼è¸¦ »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇÕ´Ï´Ù. |
void |
init (int opmode,
Key key,
AlgorithmParameters params)
¿¼è¿Í ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ®¸¦ »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇÕ´Ï´Ù. |
void |
init (int opmode,
Key key,
AlgorithmParameterSpec params)
¿¼è¿Í ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ®¸¦ »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇÕ´Ï´Ù. |
void |
init (int opmode,
Key key,
AlgorithmParameterSpec params,
SecureRandom random)
¿¼è, ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ®, ¹× ³¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇÕ´Ï´Ù. |
void |
init (int opmode,
Key key,
AlgorithmParameters params,
SecureRandom random)
¿¼è, ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ®, ¹× ³¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇÕ´Ï´Ù. |
void |
init (int opmode,
Key key,
SecureRandom random)
¿¼è¿Í ³¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇÕ´Ï´Ù. |
Key |
unwrap (byte[] wrappedKey,
String wrappedKeyAlgorithm,
int wrappedKeyType)
Àü¿¡ ·¦ µÈ ¿¼è¸¦ ·¦ ÇØÁ¦ÇÕ´Ï´Ù. |
byte[] |
update (byte[] input)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù. |
byte[] |
update (byte[] input,
int inputOffset,
int inputLen)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù. |
int |
update (byte[] input,
int inputOffset,
int inputLen,
byte[] output)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù. |
int |
update (byte[] input,
int inputOffset,
int inputLen,
byte[] output,
int outputOffset)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù. |
byte[] |
wrap (Key key)
¿¼è¸¦ ·¦ ÇÕ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
ÇʵåÀÇ »ó¼¼ |
public static final int ENCRYPT_MODE
public static final int DECRYPT_MODE
public static final int WRAP_MODE
public static final int UNWRAP_MODE
public static final int PUBLIC_KEY
public static final int PRIVATE_KEY
public static final int SECRET_KEY
»ý¼ºÀÚÀÇ »ó¼¼ |
protected Cipher(CipherSpi cipherSpi, Provider provider, String transformation)
cipherSpi
- delegateóprovider
- ÇÁ·Î¹ÙÀÌ´õtransformation
- º¯È¯¸Þ¼ÒµåÀÇ »ó¼¼ |
public static final Cipher getInstance(String transformation) throws NoSuchAlgorithmException , NoSuchPaddingException
Cipher
¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
¿ä±¸µÈ º¯È¯ÀÇ ±¸ÇöÀ» µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö°¡ Á¦°øÇϰí ÀÖ´Â °æ¿ì´Â ±× ±¸ÇöÀ» Æ÷ÇÔÇÑ Cipher
ÀÇ ÀνºÅϽº°¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö·Î ¸ñÀûÀÇ º¯È¯ÀÌ Á¦°øµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡´Â ´Ù¸¥ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö°¡ °Ë»öµË´Ï´Ù.
transformation
- º¯È¯ÀÇ À̸§. ¿¹¸¦ µé¾î,DES/CBC/PKCS5Padding. º¯È¯ÀÇ Ç¥ÁØÀûÀÎ À̸§¿¡ ´ëÇØ¼´Â ¡¸Java ¾ÏÈ£È È®Àå ±â´É ·¹ÆÛ·±½º °¡À̵塹ÀÇ ºÎ·Ï A ¸¦ ÂüÁ¶
NoSuchAlgorithmException
- ÁöÁ¤µÈ º¯È¯ÀÌ, µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö¿¡µµ, °Ë»öÇÑ °Í ¿ÜÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö¿¡µµ ¾ø´Â °æ¿ì
NoSuchPaddingException
- »ç¿ëÇÒ ¼ö ¾ø´Â ÆÐµù ¹æ½ÄÀÌ transformation
¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ìpublic static final Cipher getInstance(String transformation, String provider) throws NoSuchAlgorithmException , NoSuchProviderException , NoSuchPaddingException
Cipher
¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
transformation
- º¯È¯ÀÇ À̸§. ¿¹¸¦ µé¾î,DES/CBC/PKCS5Padding. º¯È¯ÀÇ Ç¥ÁØÀûÀÎ À̸§¿¡ ´ëÇØ¼´Â ¡¸Java
¾ÏÈ£È È®Àå ±â´É ·¹ÆÛ·±½º °¡À̵塹ÀÇ ºÎ·Ï A ¸¦ ÂüÁ¶provider
- ÇÁ·Î¹ÙÀÌ´õ¸í
NoSuchAlgorithmException
- º¯È¯ÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò´ø °æ¿ì, ȤÀº ÁöÁ¤µÈ º¯È¯ÀÌ ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ·Î »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì
NoSuchProviderException
- ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
NoSuchPaddingException
- »ç¿ëÇÒ ¼ö ¾ø´Â ÆÐµù ¹æ½ÄÀÌ transformation
¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì
IllegalArgumentException
- provider
°¡ null ÀÇ °æ¿ìpublic static final Cipher getInstance(String transformation, Provider provider) throws NoSuchAlgorithmException , NoSuchPaddingException
Cipher
¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. provider
´Â µî·ÏµÇ¾î ÀÖÀ» ÇÊ¿ä´Â ¾ø´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.
transformation
- º¯È¯ÀÇ À̸§. ¿¹¸¦ µé¾î,DES/CBC/PKCS5Padding. º¯È¯ÀÇ Ç¥ÁØÀûÀÎ À̸§¿¡ ´ëÇØ¼´Â ¡¸Java
¾ÏÈ£È È®Àå ±â´É ·¹ÆÛ·±½º °¡À̵塹ÀÇ ºÎ·Ï A ¸¦ ÂüÁ¶provider
- ÇÁ·Î¹ÙÀÌ´õ
NoSuchAlgorithmException
- º¯È¯ÀÌ ÁöÁ¤µÇÁö ¾Ê¾Ò´ø °æ¿ì, ȤÀº ÁöÁ¤µÈ º¯È¯ÀÌ ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ·Î »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì
NoSuchPaddingException
- »ç¿ëÇÒ ¼ö ¾ø´Â ÆÐµù ¹æ½ÄÀÌ transformation
¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì
IllegalArgumentException
- provider
°¡ null ÀÇ °æ¿ìpublic final Provider getProvider()
Cipher
¿ÀºêÁ§Æ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ¸¦ µ¹·ÁÁÝ´Ï´Ù.
Cipher
¿ÀºêÁ§Æ®ÀÇ ÇÁ·Î¹ÙÀÌ´õpublic final String getAlgorithm()
Cipher
¿ÀºêÁ§Æ®ÀÇ ¾Ë°í¸®Áò¸íÀ» µ¹·ÁÁÝ´Ï´Ù.
À̰ÍÀº ÀÌ Cipher
¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÑ getInstance
È£ÃâÀÇ ¾î¶² °ÍÀΰ¡·Î ÁöÁ¤µÈ À̸§°ú °°½À´Ï´Ù.
Cipher
¿ÀºêÁ§Æ®ÀÇ ¾Ë°í¸®Áò¸ípublic final int getBlockSize()
public final int getOutputSize(int inputLen) throws IllegalStateException
inputLen
(¹ÙÀÌÆ® ´ÜÀ§)¸¦ ÁöÁ¤ÇØ, ´ÙÀ½ÀÇ update
¶Ç´Â doFinal
Á¶ÀÛÀÇ °á°ú¸¦ º¸°ü À¯ÁöÇϱâ À§Çؼ ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ ±æÀ̸¦ ¹ÙÀÌÆ®¼ö·Î µ¹·ÁÁÝ´Ï´Ù.
ÀÌ È£Ãâ¿¡¼´Â ÀÌÀüÀÇ update
È£ÃâÀÇ Ã³¸®µÇ¾î ÀÖÁö ¾ÊÀº (¹öÆÛ¿¡ ÀÖ´Ù) µ¥ÀÌÅ͸¦ °í·ÁÇØ, ÆÐµù ÇÕ´Ï´Ù.
´ÙÀ½ÀÇ update
¶Ç´Â doFinal
È£ÃâÀÇ ½ÇÁ¦ÀÇ Ãâ·ÂÀåÀº ÀÌ ¸Þ¼Òµå°¡ µ¹·ÁÁÖ´Â ±æÀ̺¸´Ù ÀÛÀº ÀÏÀÌ ÀÖ½À´Ï´Ù.
inputLen
- ÀÔ·ÂÀå (¹ÙÀÌÆ® ´ÜÀ§)
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ¾ÆÁ÷ ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)public final byte[] getIV()
À̰ÍÀº ·£´ý IV °¡ ÀÛ¼ºµÇ¾úÀ» °æ¿ì, ȤÀº IV °¡ À¯Àú ÁöÁ¤ÀÇ ÆÐ½º¿öµå·ÎºÎÅÍ ÆÄ»ýÇÏ´Â ÆÐ½º¿öµå º£À̽ºÀÇ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode)ÀÇ ¹®¸Æ¿¡ ´ëÇØ µµ¿òÀÌ µË´Ï´Ù.
public final AlgorithmParameters getParameters()
µ¹·ÁÁÖ¾îÁö´Â ÆÄ¶ó¹ÌÅÍ´Â ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇϴµ¥ »ç¿ëÇÑ °Í°ú °°Àº °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¶Ç´Â µ¹·ÁÁÖ¾îÁö´Â ÆÄ¶ó¹ÌÅÍ¿¡´Â ÀÌ ¾ÏÈ£¿¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÇÊ¿äÇØ, ÇÑÆí ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ·Î ÃʱâȵÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀ¸·Î »ç¿ëµÇ´Â µðÆúÆ®¿Í ·£´ýÀÇ ÆÄ¶ó¹ÌÅÍÄ¡ÀÇ Æí¼ºÀÌ Æ÷ÇԵǴ Àϵµ ÀÖ½À´Ï´Ù.
public final ExemptionMechanism getExemptionMechanism()
public final void init(int opmode, Key key) throws InvalidKeyException
ÀÌ ¾ÏÈ£´Â opmode
ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡, ÁöÁ¤µÈ key
·ÎºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidKeyException
¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters
¶Ç´Â getIV
(ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ °¡¿îµ¥, °¡Àå ¿ì¼± ¼øÀ§ÀÇ ³ôÀº ÇÁ·Î¹ÙÀÌ´õÀÇ
ÀÇ ±¸ÇöÀ» ³¼öÀÇ ¹ß»ý¿øÀ¸·Î¼ »ç¿ëÇØ ³¼ö ¹ÙÀÌÆ®¸¦ ÃëµæÇÕ´Ï´Ù. SecureRandom ÀÇ ±¸ÇöÀ» Á¦°øÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ°¡ ÀνºÅçµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â ³¼öÀÇ ¹ß»ý¿øÀÌ »ç¿ëµË´Ï´Ù.
SecureRandom
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
,DECRYPT_MODE
,WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
ÀÇ ¾î¶² °ÍÀ̳ª)key
- ¿¼è
InvalidKeyException
- ÁöÁ¤µÈ ¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿ëÀ¸·Î ÃʱâȵǾî ÁöÁ¤µÈ ¿¼è·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¿¼èÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ë¿¼è »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ìpublic final void init(int opmode, Key key, SecureRandom random) throws InvalidKeyException
ÀÌ ¾ÏÈ£´Â opmode
ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡, ÁöÁ¤µÈ key
·ÎºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidKeyException
¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters
¶Ç´Â getIV
(ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random
·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
,DECRYPT_MODE
,WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
ÀÇ ¾î¶² °ÍÀ̳ª)key
- ¾Ïȣȿ¼èrandom
- ³¼öÀÇ ¹ß»ý¿ø
InvalidKeyException
- ÁöÁ¤µÈ ¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿ëÀ¸·Î ÃʱâȵǾî ÁöÁ¤µÈ ¿¼è·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¿¼èÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ë¿¼è »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ìpublic final void init(int opmode, Key key, AlgorithmParameterSpec params) throws InvalidKeyException , InvalidAlgorithmParameterException
ÀÌ ¾ÏÈ£´Â opmode
ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params
°¡ null ÀÇ °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidAlgorithmParameterException
¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters
¶Ç´Â getIV
(ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ °¡¿îµ¥, °¡Àå ¿ì¼± ¼øÀ§ÀÇ ³ôÀº ÇÁ·Î¹ÙÀÌ´õÀÇ
ÀÇ ±¸ÇöÀ» ³¼öÀÇ ¹ß»ý¿øÀ¸·Î¼ »ç¿ëÇØ ³¼ö ¹ÙÀÌÆ®¸¦ ÃëµæÇÕ´Ï´Ù. SecureRandom ÀÇ ±¸ÇöÀ» Á¦°øÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ°¡ ÀνºÅçµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â ³¼öÀÇ ¹ß»ý¿øÀÌ »ç¿ëµË´Ï´Ù.
SecureRandom
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
,DECRYPT_MODE
,WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
ÀÇ ¾î¶² °ÍÀ̳ª)key
- ¾Ïȣȿ¼èparams
- ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ
InvalidKeyException
- ÁöÁ¤µÈ ¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¿¼èÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ë¿¼è »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì
InvalidAlgorithmParameterException
- ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿ëÀ¸·Î ÃʱâÈµÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params
°¡ null ÀÇ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ À¯È¿ÇÑ Á¦ÇÑ (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)À» ³Ñ´Â ¾ÏÈ£È °µµ¸¦ ³ªÅ¸³»´Â °æ¿ìpublic final void init(int opmode, Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException , InvalidAlgorithmParameterException
ÀÌ ¾ÏÈ£´Â opmode
ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params
°¡ null ÀÇ °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidAlgorithmParameterException
¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters
¶Ç´Â getIV
(ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random
·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
,DECRYPT_MODE
,WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
ÀÇ ¾î¶² °ÍÀ̳ª)key
- ¾Ïȣȿ¼èparams
- ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍrandom
- ³¼öÀÇ ¹ß»ý¿ø
InvalidKeyException
- ÁöÁ¤µÈ ¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¿¼èÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ë¿¼è »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì
InvalidAlgorithmParameterException
- ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿ëÀ¸·Î ÃʱâÈµÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params
°¡ null ÀÇ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ À¯È¿ÇÑ Á¦ÇÑ (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)À» ³Ñ´Â ¾ÏÈ£È °µµ¸¦ ³ªÅ¸³»´Â °æ¿ìpublic final void init(int opmode, Key key, AlgorithmParameters params) throws InvalidKeyException , InvalidAlgorithmParameterException
ÀÌ ¾ÏÈ£´Â opmode
ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params
°¡ null ÀÇ °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidAlgorithmParameterException
¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters
¶Ç´Â getIV
(ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ °¡¿îµ¥, °¡Àå ¿ì¼± ¼øÀ§ÀÇ ³ôÀº ÇÁ·Î¹ÙÀÌ´õÀÇ
ÀÇ ±¸ÇöÀ» ³¼öÀÇ ¹ß»ý¿øÀ¸·Î¼ »ç¿ëÇØ ³¼ö ¹ÙÀÌÆ®¸¦ ÃëµæÇÕ´Ï´Ù. SecureRandom ÀÇ ±¸ÇöÀ» Á¦°øÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ°¡ ÀνºÅçµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â ³¼öÀÇ ¹ß»ý¿øÀÌ »ç¿ëµË´Ï´Ù.
SecureRandom
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
,DECRYPT_MODE
,WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
ÀÇ ¾î¶² °ÍÀ̳ª)key
- ¾Ïȣȿ¼èparams
- ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ
InvalidKeyException
- ÁöÁ¤µÈ ¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¿¼èÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ë¿¼è »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì
InvalidAlgorithmParameterException
- ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿ëÀ¸·Î ÃʱâÈµÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params
°¡ null ÀÇ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ À¯È¿ÇÑ Á¦ÇÑ (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)À» ³Ñ´Â ¾ÏÈ£È °µµ¸¦ ³ªÅ¸³»´Â °æ¿ìpublic final void init(int opmode, Key key, AlgorithmParameters params, SecureRandom random) throws InvalidKeyException , InvalidAlgorithmParameterException
ÀÌ ¾ÏÈ£´Â opmode
ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params
°¡ null ÀÇ °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidAlgorithmParameterException
¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters
¶Ç´Â getIV
(ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random
·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
,DECRYPT_MODE
,WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
ÀÇ ¾î¶² °ÍÀ̳ª)key
- ¾Ïȣȿ¼èparams
- ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍrandom
- ³¼öÀÇ ¹ß»ý¿ø
InvalidKeyException
- ÁöÁ¤µÈ ¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¿¼èÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ë¿¼è »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì
InvalidAlgorithmParameterException
- ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿ëÀ¸·Î ÃʱâÈµÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params
°¡ null ÀÇ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ À¯È¿ÇÑ Á¦ÇÑ (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)À» ³Ñ´Â ¾ÏÈ£È °µµ¸¦ ³ªÅ¸³»´Â °æ¿ìpublic final void init(int opmode, Certificate certificate) throws InvalidKeyException
ÀÌ ¾ÏÈ£´Â opmode
ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
Áõ¸í¼ÀÇ Á¾·ù°¡ X. 509 ·Î, Áß¿ä¿Í ¸¶Å© µÈ key usage È®Àå area°¡ ÀÖ¾î,key usage È®Àå areaÀÇ °ª¿¡ ÀÇÇØ Áõ¸í¼ÀÇ °ø°³¿¼è¿Í °Å±â¿¡ ´ëÀÀÇÏ´Â ºñ°ø°³¿¼è°¡ opmode
ÀÇ °ªÀ¸·Î ³ªÅ¸³»Áö´Â Á¶ÀÛ¿¡ »ç¿ëµÇÁö ¾Ê´Â °ÍÀ¸·Î ÀÖ´Â °æ¿ì´Â InvalidKeyException
°¡ ½½·Î¿ì µË´Ï´Ù.
ÀÌ ¾ÏÈ£°¡, ÁöÁ¤µÈ Áõ¸í¼ÀÇ °ø°³¿¼è·ÎºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidKeyException
¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters
¶Ç´Â getIV
(ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ °¡¿îµ¥, °¡Àå ¿ì¼± ¼øÀ§ÀÇ ³ôÀº ÇÁ·Î¹ÙÀÌ´õÀÇ SecureRandom
ÀÇ ±¸ÇöÀ» ³¼öÀÇ ¹ß»ý¿øÀ¸·Î¼ »ç¿ëÇØ ³¼ö ¹ÙÀÌÆ®¸¦ ÃëµæÇÕ´Ï´Ù. SecureRandom ÀÇ ±¸ÇöÀ» Á¦°øÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ°¡ ÀνºÅçµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â ³¼öÀÇ ¹ß»ý¿øÀÌ »ç¿ëµË´Ï´Ù.
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
,DECRYPT_MODE
,WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
ÀÇ ¾î¶² °ÍÀ̳ª)certificate
- Áõ¸í¼
InvalidKeyException
- ÁöÁ¤µÈ Áõ¸í¼ÀÇ °ø°³¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿¼è ¶Ç´Â ·¦ÇÎ ÇØÁ¦¿¼è¿ëÀ¸·Î ÃʱâȵǾî ÁöÁ¤µÈ Áõ¸í¼ÀÇ °ø°³¿¼è·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ Áõ¸í¼ÀÇ °ø°³¿¼èÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ë¿¼è »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ìpublic final void init(int opmode, Certificate certificate, SecureRandom random) throws InvalidKeyException
ÀÌ ¾ÏÈ£´Â opmode
ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
Áõ¸í¼ÀÇ Á¾·ù°¡ X. 509 ·Î, Áß¿ä¿Í ¸¶Å© µÈ key usage È®Àå area°¡ ÀÖ¾î,key usage È®Àå areaÀÇ °ª¿¡ ÀÇÇØ Áõ¸í¼ÀÇ °ø°³¿¼è¿Í °Å±â¿¡ ´ëÀÀÇÏ´Â ºñ°ø°³¿¼è°¡ opmode
ÀÇ °ªÀ¸·Î ³ªÅ¸³»Áö´Â Á¶ÀÛ¿¡ »ç¿ëµÇÁö ¾Ê´Â °ÍÀ¸·Î ÀÖ´Â °æ¿ì´Â InvalidKeyException
°¡ ½½·Î¿ì µË´Ï´Ù.
ÀÌ ¾ÏÈ£°¡, ÁöÁ¤µÈ certificate
ÀÇ °ø°³¿¼è·ÎºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidKeyException
¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters
¶Ç´Â getIV
(ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random
·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
,DECRYPT_MODE
,WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
ÀÇ ¾î¶² °ÍÀ̳ª)certificate
- Áõ¸í¼random
- ³¼öÀÇ ¹ß»ý¿ø
InvalidKeyException
- ÁöÁ¤µÈ Áõ¸í¼ÀÇ °ø°³¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿¼è ¶Ç´Â ·¦ÇÎ ÇØÁ¦¿¼è¿ëÀ¸·Î ÃʱâȵǾî ÁöÁ¤µÈ Áõ¸í¼ÀÇ °ø°³¿¼è·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ Áõ¸í¼ÀÇ °ø°³¿¼èÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ë¿¼è »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÀÇÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ìpublic final byte[] update(byte[] input) throws IllegalStateException
input
¹öÆÛ³»ÀÇ ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú°¡ »õ·Î¿î ¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
input
ÀÇ ±æÀ̰¡ Á¦·ÎÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â null
¸¦ µ¹·ÁÁÝ´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛ
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)public final byte[] update(byte[] input, int inputOffset, int inputLen) throws IllegalStateException
inputOffset
·ÎºÎÅÍ ½ÃÀ۵Ǵ input
¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen
¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú°¡ »õ·Î¿î ¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
inputLen
°¡ Á¦·ÎÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â null
¸¦ µ¹·ÁÁÝ´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛinputOffset
- ÀÔ·ÂÀ» °³½ÃÇÏ´Â input
³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen
- ÀÔ·ÂÀå
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)public final int update(byte[] input, int inputOffset, int inputLen, byte[] output) throws IllegalStateException , ShortBufferException
inputOffset
·ÎºÎÅÍ ½ÃÀ۵Ǵ input
¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen
¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú°¡ output
¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
output
¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException
°¡ ½½·Î¿ì µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize
¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.
inputLen
°¡ 0 ÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ±æÀÌ Á¦·Î¸¦ µ¹·ÁÁÝ´Ï´Ù.
ÁÖ: ÀÌ ¸Þ¼Òµå´Â Ä«ÇÇ¿¡ ´ëÇØ¼ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input
¹× output
¹öÆÛ´Â °°Àº ¹ÙÀÌÆ® ¹è¿À» ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛinputOffset
- ÀÔ·ÂÀ» °³½ÃÇÏ´Â input
³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen
- ÀÔ·ÂÀåoutput
- °á°ú¸¦ ÀúÀåÇÏ´Â ¹öÆÛ
output
¿¡ ÀúÀåµÈ ¹ÙÀÌÆ®¼ö
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
ShortBufferException
- ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ìpublic final int update(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset) throws IllegalStateException , ShortBufferException
inputOffset
·ÎºÎÅÍ ½ÃÀ۵Ǵ input
¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen
¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú´Â output
¹öÆÛÀÇ outputOffset
·ÎºÎÅÍ ½ÃÀ۵Ǵ À§Ä¡¿¡ ÀúÀåµË´Ï´Ù.
output
¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException
°¡ ½½·Î¿ì µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize
¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.
inputLen
°¡ 0 ÀÇ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ±æÀÌ Á¦·Î¸¦ µ¹·ÁÁÝ´Ï´Ù.
ÁÖ: ÀÌ ¸Þ¼Òµå´Â Ä«ÇÇ¿¡ ´ëÇØ¼ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input
¹× output
¹öÆÛ´Â °°Àº ¹ÙÀÌÆ® ¹è¿À» ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛinputOffset
- ÀÔ·ÂÀ» °³½ÃÇÏ´Â input
³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen
- ÀÔ·ÂÀåoutput
- °á°ú¸¦ ÀúÀåÇÏ´Â ¹öÆÛoutputOffset
- °á°ú°¡ ÀúÀåµÇ´Â output
³»ÀÇ ¿ÀÇÁ¼Â(offset)
output
¿¡ ÀúÀåµÈ ¹ÙÀÌÆ®¼ö
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
ShortBufferException
- ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ìpublic final byte[] doFinal() throws IllegalStateException , IllegalBlockSizeException , BadPaddingException
ÀÔ·Â µ¥ÀÌÅÍ´Â ÀüÀÇ update
Á¶ÀÛÁß¿¡ ¹öÆÛ¿¡ ³Ö¾îÁ®, ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµÇ°í ÀÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. °á°ú´Â »õ·Î¿î ¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
Á¾·á½Ã¿¡, ÀÌ ¸Þ¼Òµå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init
¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init
ÀÇ È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ½½·Î¿ì µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
BadPaddingException
- ÀÌ ¾ÏÈ£°¡ º¹È£È(decode) ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È(decode) µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ìpublic final int doFinal(byte[] output, int outputOffset) throws IllegalStateException , IllegalBlockSizeException , ShortBufferException , BadPaddingException
ÀÔ·Â µ¥ÀÌÅÍ´Â ÀüÀÇ update
Á¶ÀÛÁß¿¡ ¹öÆÛ¿¡ ³Ö¾îÁ®, ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµÇ°í ÀÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. °á°ú´Â outputOffset
·ÎºÎÅÍ ½ÃÀ۵Ǵ output
¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
output
¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException
°¡ ½½·Î¿ì µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize
¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.
Á¾·á½Ã¿¡, ÀÌ ¸Þ¼Òµå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init
¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init
ÀÇ È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ½½·Î¿ì µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
output
- °á°ú¸¦ ÀúÀåÇÏ´Â ¹öÆÛoutputOffset
- °á°ú°¡ ÀúÀåµÇ´Â output
³»ÀÇ ¿ÀÇÁ¼Â(offset)
output
¿¡ ÀúÀåµÈ ¹ÙÀÌÆ®¼ö
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
ShortBufferException
- ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException
- ÀÌ ¾ÏÈ£°¡ º¹È£È(decode) ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È(decode) µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ìpublic final byte[] doFinal(byte[] input) throws IllegalStateException , IllegalBlockSizeException , BadPaddingException
input
¹öÆÛ³»ÀÇ ¹ÙÀÌÆ®, ¹× ÀüÀÇ update
Á¶ÀÛÁß¿¡ ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â »õ·Î¿î ¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
Á¾·á½Ã¿¡, ÀÌ ¸Þ¼Òµå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init
¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init
ÀÇ È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ½½·Î¿ì µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛ
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
BadPaddingException
- ÀÌ ¾ÏÈ£°¡ º¹È£È(decode) ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È(decode) µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ìpublic final byte[] doFinal(byte[] input, int inputOffset, int inputLen) throws IllegalStateException , IllegalBlockSizeException , BadPaddingException
inputOffset
·ÎºÎÅÍ ½ÃÀ۵Ǵ input
¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen
¹ÙÀÌÆ®, ¹× ÀüÀÇ update
Á¶ÀÛÀ¸·Î ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â »õ·Î¿î ¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
Á¾·á½Ã¿¡, ÀÌ ¸Þ¼Òµå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init
¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init
ÀÇ È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ½½·Î¿ì µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛinputOffset
- ÀÔ·ÂÀ» °³½ÃÇÏ´Â input
³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen
- ÀÔ·ÂÀå
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
BadPaddingException
- ÀÌ ¾ÏÈ£°¡ º¹È£È(decode) ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È(decode) µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ìpublic final int doFinal(byte[] input, int inputOffset, int inputLen, byte[] output) throws IllegalStateException , ShortBufferException , IllegalBlockSizeException , BadPaddingException
inputOffset
·ÎºÎÅÍ ½ÃÀ۵Ǵ input
¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen
¹ÙÀÌÆ®, ¹× ÀüÀÇ update
Á¶ÀÛÀ¸·Î ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â output
¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
output
¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException
°¡ ½½·Î¿ì µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize
¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.
Á¾·á½Ã¿¡, ÀÌ ¸Þ¼Òµå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init
¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init
ÀÇ È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ½½·Î¿ì µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
ÁÖ: ÀÌ ¸Þ¼Òµå´Â Ä«ÇÇ¿¡ ´ëÇØ¼ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input
¹× output
¹öÆÛ´Â °°Àº ¹ÙÀÌÆ® ¹è¿À» ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛinputOffset
- ÀÔ·ÂÀ» °³½ÃÇÏ´Â input
³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen
- ÀÔ·ÂÀåoutput
- °á°ú¸¦ ÀúÀåÇÏ´Â ¹öÆÛ
output
¿¡ ÀúÀåµÈ ¹ÙÀÌÆ®¼ö
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
ShortBufferException
- ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException
- ÀÌ ¾ÏÈ£°¡ º¹È£È(decode) ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È(decode) µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ìpublic final int doFinal(byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset) throws IllegalStateException , ShortBufferException , IllegalBlockSizeException , BadPaddingException
inputOffset
·ÎºÎÅÍ ½ÃÀ۵Ǵ input
¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen
¹ÙÀÌÆ®, ¹× ÀüÀÇ update
Á¶ÀÛÀ¸·Î ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â outputOffset
·ÎºÎÅÍ ½ÃÀ۵Ǵ output
¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
output
¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException
°¡ ½½·Î¿ì µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize
¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.
Á¾·á½Ã¿¡, ÀÌ ¸Þ¼Òµå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init
¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init
ÀÇ È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ½½·Î¿ì µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
ÁÖ: ÀÌ ¸Þ¼Òµå´Â Ä«ÇÇ¿¡ ´ëÇØ¼ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input
¹× output
¹öÆÛ´Â °°Àº ¹ÙÀÌÆ® ¹è¿À» ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛinputOffset
- ÀÔ·ÂÀ» °³½ÃÇÏ´Â input
³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen
- ÀÔ·ÂÀåoutput
- °á°ú¸¦ ÀúÀåÇÏ´Â ¹öÆÛoutputOffset
- °á°ú°¡ ÀúÀåµÇ´Â output
³»ÀÇ ¿ÀÇÁ¼Â(offset)
output
¿¡ ÀúÀåµÈ ¹ÙÀÌÆ®¼ö
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
ShortBufferException
- ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException
- ÀÌ ¾ÏÈ£°¡ º¹È£È(decode) ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È(decode) µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ìpublic final byte[] wrap(Key key) throws IllegalStateException , IllegalBlockSizeException , InvalidKeyException
key
- ·¦ µÇ´Â ¿¼è
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í ·¦ µÇ´Â ¿¼èÀÇ ÀÎÄÚµùÀÇ ±æÀ̰¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
InvalidKeyException
- ÀÌ ¾ÏÈ£¸¦ »ç¿ëÇØ ¿¼è¸¦ ·¦ ÇÏ´Â °ÍÀÌ ºÒ°¡´ÉÇѰ¡ ¾ÈÀüÇÏÁö ¾ÊÀº °æ¿ì (¿¹¸¦ µé¾î, Çϵå¿þ¾î º¸È£µÈ ¿¼è°¡ ¼ÒÇÁÆ®¿þ¾î¸¸ÀÇ ¾ÏÈ£¿¡°Ô °Ç³×Áö´Â °æ¿ì)public final Key unwrap(byte[] wrappedKey, String wrappedKeyAlgorithm, int wrappedKeyType) throws IllegalStateException , InvalidKeyException , NoSuchAlgorithmException
wrappedKey
- ·¦ÀÌ ÇØÁ¦µÇ´Â ¿¼èwrappedKeyAlgorithm
- ·¦ µÈ ¿¼è¿¡ °ü·ÃÇÑ ¾Ë°í¸®ÁòwrappedKeyType
- ·¦ µÈ ¿¼èÀÇ Å¸ÀÔ. SECRET_KEY
,PRIVATE_KEY
, ¶Ç´Â PUBLIC_KEY
ÀÇ ¾î¶² °ÍÀΰ¡ÀÏ Çʿ䰡 ÀÖ´Ù
IllegalStateException
- ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâȵǾî ÀÖÁö ¾Ê´Ù)
InvalidKeyException
- wrappedKey
°¡ ·¦ µÈ ¿¼è¸¦ ³ªÅ¸³»Áö ¾ÊÀº °æ¿ì, ȤÀº ·¦ µÈ ¿¼è¿¡ °ü·ÃÇÑ ¾Ë°í¸®ÁòÀÌ wrappedKeyAlgorithm
¿Í ´Ù¸£°í ÀÖ´ÂÁö ±× ¿¼è ŸÀÔÀÌ wrappedKeyType
¿Í ´Ù¸£°í ÀÖ´Â °æ¿ì
NoSuchAlgorithmException
- ÀνºÅç µÇ°í ÀÖ´Â ¾î´À ÇÁ·Î¹ÙÀÌ´õµµ wrappedKeyAlgorithm
ÀÇ ¿¼è¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø´Â °æ¿ì
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.