JavaTM 2 Platform
Standard Ed. 5.0

javax.crypto
Ŭ·¡½º Cipher

java.lang.Object 
  »óÀ§¸¦ È®Àå javax.crypto.Cipher
Á÷°èÀÇ ±âÁ¸ÀÇ ¼­ºê Ŭ·¡½º:
NullCipher

public class Cipher
extends Object

ÀÌ Å¬·¡½º´Â ¾Ïȣȭ ¹× º¹È£È­ÀÇ ±â´ÉÀ» Á¦°øÇØ, 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 ºñÆ®¸¦ »ç¿ë).

µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
KeyGenerator, SecretKey

ÇÊµå °³¿ä
static int DECRYPT_MODE
          ¾ÏÈ£¸¦ º¹È£È­ ¸ðµå¿¡ ÃʱâÈ­Çϴµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù.
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 ()
          º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» Á¾·áÇÕ´Ï´Ù.
 byte[] doFinal (byte[] input)
          ´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù.
 int doFinal (byte[] output, int outputOffset)
          º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» Á¾·áÇÕ´Ï´Ù.
 byte[] doFinal (byte[] input, int inputOffset, int inputLen)
          ´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù.
 int doFinal (byte[] input, int inputOffset, int inputLen, byte[] output)
          ´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù.
 int doFinal (byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset)
          ´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù.
 int doFinal (ByteBuffer  input, ByteBuffer  output)
          ´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù.
 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)¸¦ µ¹·ÁÁÝ´Ï´Ù.
static int getMaxAllowedKeyLength (String  transformation)
          ÀνºÅç ÇÑ JCE °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ±Ù°ÅÇØ, ÁöÁ¤ÀÇ º¯È¯À» ½Ç½ÃÇÏ´Â ÃÖ´ëÀÇ Å°ÀÇ ±æÀ̸¦ µ¹·ÁÁÝ´Ï´Ù.
static AlgorithmParameterSpec getMaxAllowedParameterSpec (String  transformation)
          °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ±Ù°ÅÇØ, ÃÖ´ë ¾Ïȣȭ ÆÄ¶ó¹ÌÅÍÄ¡¸¦ Æ÷ÇÔÇÑ AlgorithmParameterSpec ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.
 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)
          º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.
 byte[] update (byte[] input, int inputOffset, int inputLen)
          º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.
 int update (byte[] input, int inputOffset, int inputLen, byte[] output)
          º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.
 int update (byte[] input, int inputOffset, int inputLen, byte[] output, int outputOffset)
          º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.
 int update (ByteBuffer  input, ByteBuffer  output)
          º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.
 byte[] wrap (Key  key)
          Å°¸¦ ·¦ ÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

ÇʵåÀÇ »ó¼¼

ENCRYPT_MODE

public static final int ENCRYPT_MODE
¾ÏÈ£¸¦ ¾Ïȣȭ ¸ðµå¿¡ ÃʱâÈ­Çϴµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

DECRYPT_MODE

public static final int DECRYPT_MODE
¾ÏÈ£¸¦ º¹È£È­ ¸ðµå¿¡ ÃʱâÈ­Çϴµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

WRAP_MODE

public static final int WRAP_MODE
¾ÏÈ£¸¦ Ű ·¦ÇÎ ¸ðµå¿¡ ÃʱâÈ­Çϴµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

UNWRAP_MODE

public static final int UNWRAP_MODE
¾ÏÈ£¸¦ Ű ·¦ÇÎ ÇØÁ¦ ¸ðµå¿¡ ÃʱâÈ­Çϴµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

PUBLIC_KEY

public static final int PUBLIC_KEY
·¦ ÇØÁ¦µÇ´Â ۰¡ ¡¸°ø°³Å°¡¹ÀÎ °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

PRIVATE_KEY

public static final int PRIVATE_KEY
·¦ ÇØÁ¦µÇ´Â ۰¡ ¡¸ºñ°ø°³Å°¡¹ÀÎ °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡

SECRET_KEY

public static final int SECRET_KEY
·¦ ÇØÁ¦µÇ´Â ۰¡ ¡¸ºñ¹ÐŰ¡¹ÀÎ °ÍÀ» ³ªÅ¸³»´Âµ¥ »ç¿ëÇÏ´Â Á¤¼öÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ:
Á¤¼ö ÇʵåÄ¡
»ý¼ºÀÚ »ó¼¼

Cipher

protected Cipher(CipherSpi  cipherSpi,
                 Provider  provider,
                 String  transformation)
Cipher ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
cipherSpi - À§¾çó
provider - ÇÁ·Î¹ÙÀÌ´õ
transformation - º¯È¯
¸Þ¼­µåÀÇ »ó¼¼

getInstance

public static final Cipher  getInstance(String  transformation)
                                throws NoSuchAlgorithmException,

                                       NoSuchPaddingException 
ÁöÁ¤µÈ º¯È¯À» ±¸ÇöÇÏ´Â Cipher ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.

¿ä±¸µÈ º¯È¯ÀÇ ±¸ÇöÀ» µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö°¡ Á¦°øÇϰí ÀÖ´Â °æ¿ì´Â ±× ±¸ÇöÀ» Æ÷ÇÔÇÑ Cipher ÀνºÅϽº°¡ µ¹·ÁÁÖ°íÁý´Ï´Ù. µðÆúÆ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö·Î ¸ñÀûÀÇ º¯È¯ÀÌ Á¦°øµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡´Â ´Ù¸¥ ÇÁ·Î¹ÙÀÌ´õ ÆÐŰÁö°¡ °Ë»öµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
transformation - º¯È¯ÀÇ À̸§. ¿¹¸¦ µé¾î,DES/CBC/PKCS5Padding. º¯È¯ÀÇ Ç¥ÁØÀûÀÎ À̸§¿¡ ´ëÇØ¼­´Â ¡¸Java ¾Ïȣȭ È®Àå ±â´É ·¹ÆÛ·±½º °¡À̵塹ÀÇ ºÎ·Ï A¸¦ ÂüÁ¶
¹Ýȯ°ª:
¿ä±¸µÈ º¯È¯À» ±¸ÇöÇÏ´Â ¾ÏÈ£
¿¹¿Ü:
NoSuchAlgorithmException - transformation °¡ null, ÇÏ´Ã, Çü½ÄÀÌ ºÎÁ¤, ¶Ç´Â ÇöÀç ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ·Î »ç¿ë ºÒ°¡´ÉÇÑ °æ¿ì
NoSuchPaddingException - »ç¿ëÇÒ ¼ö ¾ø´Â ÆÐµù ¹æ½ÄÀÌ transformation ¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì

getInstance

public static final Cipher  getInstance(String  transformation,
                                       String  provider)
                                throws NoSuchAlgorithmException,

                                       NoSuchProviderException,

                                       NoSuchPaddingException 
ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ¿¡ ÇØ Á¦°øµÇ´Â ÁöÁ¤µÈ º¯È¯À» ±¸ÇöÇÏ´Â Cipher ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
transformation - º¯È¯ÀÇ À̸§. ¿¹¸¦ µé¾î,DES/CBC/PKCS5Padding. º¯È¯ÀÇ Ç¥ÁØÀûÀÎ À̸§¿¡ ´ëÇØ¼­´Â ¡¸Java ¾Ïȣȭ È®Àå ±â´É ·¹ÆÛ·±½º °¡À̵塹ÀÇ ºÎ·Ï A¸¦ ÂüÁ¶
provider - ÇÁ·Î¹ÙÀÌ´õ¸í
¹Ýȯ°ª:
¿ä±¸µÈ º¯È¯À» ±¸ÇöÇÏ´Â ¾ÏÈ£
¿¹¿Ü:
NoSuchAlgorithmException - transformation °¡ null, ÇÏ´Ã, Çü½ÄÀÌ ºÎÁ¤, ¶Ç´Â ÇöÀç ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ·ÎºÎÅÍ Á¦°øµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
NoSuchProviderException - ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
NoSuchPaddingException - »ç¿ëÇÒ ¼ö ¾ø´Â ÆÐµù ¹æ½ÄÀÌ transformation ¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì
IllegalArgumentException - provider °¡ null °æ¿ì

getInstance

public static final Cipher  getInstance(String  transformation,
                                       Provider  provider)
                                throws NoSuchAlgorithmException,

                                       NoSuchPaddingException 
ÁöÁ¤µÈ ÇÁ·Î¹ÙÀÌ´õ¿¡ ÇØ Á¦°øµÇ´Â ÁöÁ¤µÈ º¯È¯À» ±¸ÇöÇÏ´Â Cipher ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù. provider´Â µî·ÏµÇ¾î ÀÖÀ» ÇÊ¿ä´Â ¾ø´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.

ÆÄ¶ó¹ÌÅÍ:
transformation - º¯È¯ÀÇ À̸§. ¿¹¸¦ µé¾î,DES/CBC/PKCS5Padding. º¯È¯ÀÇ Ç¥ÁØÀûÀÎ À̸§¿¡ ´ëÇØ¼­´Â ¡¸Java ¾Ïȣȭ È®Àå ±â´É ·¹ÆÛ·±½º °¡À̵塹ÀÇ ºÎ·Ï A¸¦ ÂüÁ¶
provider - ÇÁ·Î¹ÙÀÌ´õ
¹Ýȯ°ª:
¿ä±¸µÈ º¯È¯À» ±¸ÇöÇÏ´Â ¾ÏÈ£
¿¹¿Ü:
NoSuchAlgorithmException - transformation °¡ null, ÇÏ´Ã, Çü½ÄÀÌ ºÎÁ¤, ¶Ç´Â ÇöÀç ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ·ÎºÎÅÍ Á¦°øµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
NoSuchPaddingException - »ç¿ëÇÒ ¼ö ¾ø´Â ÆÐµù ¹æ½ÄÀÌ transformation ¿¡ Æ÷ÇԵǾî ÀÖ´Â °æ¿ì
IllegalArgumentException - provider °¡ null °æ¿ì

getProvider

public final Provider  getProvider()
ÀÌ Cipher ¿ÀºêÁ§Æ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Cipher ¿ÀºêÁ§Æ®ÀÇ ÇÁ·Î¹ÙÀÌ´õ

getAlgorithm

public final String  getAlgorithm()
ÀÌ Cipher ¿ÀºêÁ§Æ®ÀÇ ¾Ë°í¸®Áò¸íÀ» µ¹·ÁÁÝ´Ï´Ù.

À̰ÍÀº, ÀÌ Cipher ¿ÀºêÁ§Æ®¸¦ ÀÛ¼ºÇÑ getInstance È£ÃâÀÇ ¾î¶² °ÍÀΰ¡·Î ÁöÁ¤µÈ À̸§°ú °°½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ Cipher ¿ÀºêÁ§Æ®ÀÇ ¾Ë°í¸®Áò¸í

getBlockSize

public final int getBlockSize()
ºí·Ï »çÀÌÁ µ¹·ÁÁÝ´Ï´Ù (¹ÙÀÌÆ® ´ÜÀ§).

¹Ýȯ°ª:
ºí·Ï »çÀÌÁî (¹ÙÀÌÆ® ´ÜÀ§). ±âº»ÀÌ µÇ´Â ¾Ë°í¸®ÁòÀÌ ºí·Ï ¾ÏÈ£°¡ ¾Æ´Ñ °æ¿ì´Â 0

getOutputSize

public final int getOutputSize(int inputLen)
ÀÔ·ÂÀÇ ±æÀÌ inputLen (¹ÙÀÌÆ® ´ÜÀ§)¸¦ ÁöÁ¤ÇØ, ´ÙÀ½ÀÇ update ¶Ç´Â doFinal Á¶ÀÛÀÇ °á°ú¸¦ º¸°ü À¯ÁöÇϱâ À§Çؼ­ ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ ±æÀ̸¦ ¹ÙÀÌÆ®¼ö·Î µ¹·ÁÁÝ´Ï´Ù.

ÀÌ È£Ãâ¿¡¼­´Â ÀÌÀüÀÇ update È£ÃâÀÇ Ã³¸®µÇ¾î ÀÖÁö ¾ÊÀº (¹öÆÛ¿¡ ÀÖ´Ù) µ¥ÀÌÅ͸¦ °í·ÁÇØ, ÆÐµù ÇÕ´Ï´Ù.

´ÙÀ½ÀÇ update ¶Ç´Â doFinal È£ÃâÀÇ ½ÇÁ¦ÀÇ Ãâ·ÂÀåÀº, ÀÌ ¸Þ¼­µå°¡ µ¹·ÁÁÖ´Â ±æÀ̺¸´Ù ÀÛÀº ÀÏÀÌ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
inputLen - ÀÔ·ÂÀå (¹ÙÀÌÆ® ´ÜÀ§)
¹Ýȯ°ª:
ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛ »çÀÌÁî (¹ÙÀÌÆ® ´ÜÀ§)
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ¾ÆÁ÷ ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)

getIV

public final byte[] getIV()
»õ·Î¿î ¹öÆÛÀÇ ÃʱâÈ­ º¤ÅÍ (IV)¸¦ µ¹·ÁÁÝ´Ï´Ù.

À̰ÍÀº, ·£´ý IV °¡ ÀÛ¼ºµÇ¾úÀ» °æ¿ì, ȤÀº IV °¡ À¯Àú ÁöÁ¤ÀÇ ÆÐ½º¿öµå·ÎºÎÅÍ ÆÄ»ýÇÏ´Â ÆÐ½º¿öµå º£À̽ºÀÇ ¾Ïȣȭ ¶Ç´Â º¹È£È­ÀÇ ÄÁÅØ½ºÆ® ¿¡ ´ëÇØ µµ¿òÀÌ µË´Ï´Ù.

¹Ýȯ°ª:
»õ·Î¿î ¹öÆÛ³»ÀÇ ÃʱâÈ­ º¤ÅÍ. ±âº»ÀÌ µÇ´Â ¾Ë°í¸®ÁòÀÌ IV¸¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì, ¶Ç´Â IV °¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â null

getParameters

public final AlgorithmParameters  getParameters()
ÀÌ ¾ÏÈ£·Î »ç¿ëµÇ´Â ÆÄ¶ó¹ÌÅ͸¦ µ¹·ÁÁÝ´Ï´Ù.

µ¹·ÁÁÖ°íÁö´Â ÆÄ¶ó¹ÌÅÍ´Â ÀÌ ¾ÏÈ£¸¦ ÃʱâÈ­Çϴµ¥ »ç¿ëÇÑ °Í°ú °°Àº °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¶Ç´Â µ¹·ÁÁÖ°íÁö´Â ÆÄ¶ó¹ÌÅÍ¿¡´Â ÀÌ ¾ÏÈ£¿¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÇÊ¿äÇØ, ÇÑÆí ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ·Î ÃʱâÈ­µÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡ ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀ¸·Î »ç¿ëµÇ´Â µðÆúÆ®¿Í ·£´ýÀÇ ÆÄ¶ó¹ÌÅÍÄ¡ÀÇ Æí¼ºÀÌ Æ÷ÇԵǴ Àϵµ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ¾ÏÈ£·Î »ç¿ëµÇ´Â ÆÄ¶ó¹ÌÅÍ. ÀÌ ¾ÏÈ£·Î ÆÄ¶ó¹ÌÅ͸¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì´Â null

getExemptionMechanism

public final ExemptionMechanism  getExemptionMechanism()
ÀÌ ¾ÏÈ£·Î »ç¿ëµÇ´Â Á¦¿Ü µµ±¸ ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ¾ÏÈ£·Î »ç¿ëµÇ´Â Á¦¿Ü µµ±¸ ¿ÀºêÁ§Æ®. ÀÌ ¾ÏÈ£·Î Á¦¿Ü µµ±¸ ¸¦ »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì´Â null

init

public final void init(int opmode,
                       Key  key)
                throws InvalidKeyException 
۸¦ »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ ¾ÏÈ£´Â opmode °ª¿¡ µû¶ó, ¾Ïȣȭ, º¹È£È­, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î ÃʱâÈ­µË´Ï´Ù.

ÀÌ ¾ÏÈ£°¡, ÁöÁ¤µÈ key ·ÎºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº, ¾Ïȣȭ ¶Ç´Â Ű ·¦ÇοëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È­ ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é,InvalidKeyException¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters ¶Ç´Â getIV (ÆÄ¶ó¹ÌÅͰ¡ IV °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³­¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ °¡¿îµ¥, °¡Àå ¿ì¼± ¼øÀ§ÀÇ ³ôÀº ÇÁ·Î¹ÙÀÌ´õ SecureRandom ±¸ÇöÀ» ³­¼öÀÇ ¹ß»ý¿øÀ¸·Î¼­ »ç¿ëÇØ ³­¼ö ¹ÙÀÌÆ®¸¦ ÃëµæÇÕ´Ï´Ù. SecureRandom ±¸ÇöÀ» Á¦°øÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ°¡ ÀνºÅçµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â ³­¼öÀÇ ¹ß»ý¿øÀÌ »ç¿ëµË´Ï´Ù.

Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâÈ­µÇ¸é, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈ­ÇÏ´Â °ÍÀº, ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈ­ÇÏ´Â °Í°ú °°½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ¾î¶² °ÍÀ̳ª)
key - Ű
¿¹¿Ü:
InvalidKeyException - ÁöÁ¤µÈ ۰¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È­¿ëÀ¸·Î ÃʱâÈ­µÇ¾î ÁöÁ¤µÈ Ű·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ŰÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ëŰ »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì

init

public final void init(int opmode,
                       Key  key,
                       SecureRandom  random)
                throws InvalidKeyException 
Ű¿Í ³­¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ ¾ÏÈ£´Â opmode °ª¿¡ µû¶ó, ¾Ïȣȭ, º¹È£È­, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î ÃʱâÈ­µË´Ï´Ù.

ÀÌ ¾ÏÈ£°¡, ÁöÁ¤µÈ key ·ÎºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº, ¾Ïȣȭ ¶Ç´Â Ű ·¦ÇοëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È­ ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é,InvalidKeyException¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters ¶Ç´Â getIV (ÆÄ¶ó¹ÌÅͰ¡ IV °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³­¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random ·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.

Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâÈ­µÇ¸é, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈ­ÇÏ´Â °ÍÀº, ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈ­ÇÏ´Â °Í°ú °°½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ¾î¶² °ÍÀ̳ª)
key - ¾ÏȣȭŰ
random - ³­¼öÀÇ ¼Ò½º
¿¹¿Ü:
InvalidKeyException - ÁöÁ¤µÈ ۰¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È­¿ëÀ¸·Î ÃʱâÈ­µÇ¾î ÁöÁ¤µÈ Ű·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ŰÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ëŰ »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì

init

public final void init(int opmode,
                       Key  key,
                       AlgorithmParameterSpec  params)
                throws InvalidKeyException,

                       InvalidAlgorithmParameterException 
Ű¿Í ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ®¸¦ »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ ¾ÏÈ£´Â opmode °ª¿¡ µû¶ó, ¾Ïȣȭ, º¹È£È­, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î ÃʱâÈ­µË´Ï´Ù.

ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº, ¾Ïȣȭ ¶Ç´Â Ű ·¦ÇοëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È­ ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é,InvalidAlgorithmParameterException¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters ¶Ç´Â getIV (ÆÄ¶ó¹ÌÅͰ¡ IV °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³­¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ °¡¿îµ¥, °¡Àå ¿ì¼± ¼øÀ§ÀÇ ³ôÀº ÇÁ·Î¹ÙÀÌ´õ SecureRandom ±¸ÇöÀ» ³­¼öÀÇ ¹ß»ý¿øÀ¸·Î¼­ »ç¿ëÇØ ³­¼ö ¹ÙÀÌÆ®¸¦ ÃëµæÇÕ´Ï´Ù. SecureRandom ±¸ÇöÀ» Á¦°øÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ°¡ ÀνºÅçµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â ³­¼öÀÇ ¹ß»ý¿øÀÌ »ç¿ëµË´Ï´Ù.

Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâÈ­µÇ¸é, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈ­ÇÏ´Â °ÍÀº, ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈ­ÇÏ´Â °Í°ú °°½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ¾î¶² °ÍÀ̳ª)
key - ¾ÏȣȭŰ
params - ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ
¿¹¿Ü:
InvalidKeyException - ÁöÁ¤µÈ ۰¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ŰÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ëŰ »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì
InvalidAlgorithmParameterException - ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È­¿ëÀ¸·Î ÃʱâÈ­µÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ À¯È¿ÇÑ Á¦ÇÑ (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)À» ³Ñ´Â ¾Ïȣȭ °­µµ¸¦ ³ªÅ¸³»´Â °æ¿ì

init

public final void init(int opmode,
                       Key  key,
                       AlgorithmParameterSpec  params,
                       SecureRandom  random)
                throws InvalidKeyException,

                       InvalidAlgorithmParameterException 
Ű, ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ® ¹× ³­¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ ¾ÏÈ£´Â opmode °ª¿¡ µû¶ó, ¾Ïȣȭ, º¹È£È­, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î ÃʱâÈ­µË´Ï´Ù.

ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº, ¾Ïȣȭ ¶Ç´Â Ű ·¦ÇοëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È­ ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é,InvalidAlgorithmParameterException¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters ¶Ç´Â getIV (ÆÄ¶ó¹ÌÅͰ¡ IV °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³­¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random ·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.

Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâÈ­µÇ¸é, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈ­ÇÏ´Â °ÍÀº, ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈ­ÇÏ´Â °Í°ú °°½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ¾î¶² °ÍÀ̳ª)
key - ¾ÏȣȭŰ
params - ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ
random - ³­¼öÀÇ ¼Ò½º
¿¹¿Ü:
InvalidKeyException - ÁöÁ¤µÈ ۰¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ŰÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ëŰ »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì
InvalidAlgorithmParameterException - ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È­¿ëÀ¸·Î ÃʱâÈ­µÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ À¯È¿ÇÑ Á¦ÇÑ (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)À» ³Ñ´Â ¾Ïȣȭ °­µµ¸¦ ³ªÅ¸³»´Â °æ¿ì

init

public final void init(int opmode,
                       Key  key,
                       AlgorithmParameters  params)
                throws InvalidKeyException,

                       InvalidAlgorithmParameterException 
Ű¿Í ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ®¸¦ »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ ¾ÏÈ£´Â opmode °ª¿¡ µû¶ó, ¾Ïȣȭ, º¹È£È­, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î ÃʱâÈ­µË´Ï´Ù.

ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº, ¾Ïȣȭ ¶Ç´Â Ű ·¦ÇοëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È­ ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é,InvalidAlgorithmParameterException¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters ¶Ç´Â getIV (ÆÄ¶ó¹ÌÅͰ¡ IV °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³­¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ °¡¿îµ¥, °¡Àå ¿ì¼± ¼øÀ§ÀÇ ³ôÀº ÇÁ·Î¹ÙÀÌ´õ SecureRandom ±¸ÇöÀ» ³­¼öÀÇ ¹ß»ý¿øÀ¸·Î¼­ »ç¿ëÇØ ³­¼ö ¹ÙÀÌÆ®¸¦ ÃëµæÇÕ´Ï´Ù. SecureRandom ±¸ÇöÀ» Á¦°øÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ°¡ ÀνºÅçµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â ³­¼öÀÇ ¹ß»ý¿øÀÌ »ç¿ëµË´Ï´Ù.

Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâÈ­µÇ¸é, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈ­ÇÏ´Â °ÍÀº, ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈ­ÇÏ´Â °Í°ú °°½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ¾î¶² °ÍÀ̳ª)
key - ¾ÏȣȭŰ
params - ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ
¿¹¿Ü:
InvalidKeyException - ÁöÁ¤µÈ ۰¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ŰÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ëŰ »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì
InvalidAlgorithmParameterException - ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È­¿ëÀ¸·Î ÃʱâÈ­µÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ À¯È¿ÇÑ Á¦ÇÑ (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)À» ³Ñ´Â ¾Ïȣȭ °­µµ¸¦ ³ªÅ¸³»´Â °æ¿ì

init

public final void init(int opmode,
                       Key  key,
                       AlgorithmParameters  params,
                       SecureRandom  random)
                throws InvalidKeyException,

                       InvalidAlgorithmParameterException 
Ű, ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ® ¹× ³­¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ ¾ÏÈ£´Â opmode °ª¿¡ µû¶ó, ¾Ïȣȭ, º¹È£È­, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î ÃʱâÈ­µË´Ï´Ù.

ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº, ¾Ïȣȭ ¶Ç´Â Ű ·¦ÇοëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È­ ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é,InvalidAlgorithmParameterException¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters ¶Ç´Â getIV (ÆÄ¶ó¹ÌÅͰ¡ IV °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³­¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random ·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.

Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâÈ­µÇ¸é, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈ­ÇÏ´Â °ÍÀº, ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈ­ÇÏ´Â °Í°ú °°½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ¾î¶² °ÍÀ̳ª)
key - ¾ÏȣȭŰ
params - ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ
random - ³­¼öÀÇ ¼Ò½º
¿¹¿Ü:
InvalidKeyException - ÁöÁ¤µÈ ۰¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ŰÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ëŰ »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì
InvalidAlgorithmParameterException - ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È­¿ëÀ¸·Î ÃʱâÈ­µÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ À¯È¿ÇÑ Á¦ÇÑ (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)À» ³Ñ´Â ¾Ïȣȭ °­µµ¸¦ ³ªÅ¸³»´Â °æ¿ì

init

public final void init(int opmode,
                       Certificate  certificate)
                throws InvalidKeyException 
ÀÌ ¾ÏÈ£¸¦, °ËÁõ Á¶ÀÛÀ» À§Çؼ­ ÁöÁ¤µÈ °ø°³Å°·Î ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ ¾ÏÈ£´Â opmode °ª¿¡ µû¶ó, ¾Ïȣȭ, º¹È£È­, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î ÃʱâÈ­µË´Ï´Ù.

ÀÎÁõ¼­ ÀÇ Á¾·ù°¡ X. 509 ·Î Áß¿ä¿Í ¸¶Å© µÈ key usage È®Àå ¿µ¿ªÀÌ ÀÖ¾î,key usage È®Àå ¿µ¿ªÀÇ °ª¿¡ ÇØ ÀÎÁõ¼­ ÀÇ °ø°³Å°¿Í °Å±â¿¡ ´ëÀÀÇÏ´Â ºñ°ø°³Å°°¡ opmode °ªÀ¸·Î ³ªÅ¸³»Áö´Â Á¶ÀÛ¿¡ »ç¿ëµÇÁö ¾Ê´Â °ÍÀ¸·Î ÀÖ´Â °æ¿ì´Â InvalidKeyException °¡ Throw µË´Ï´Ù.

ÀÌ ¾ÏÈ£°¡, ÁöÁ¤µÈ ÀÎÁõ¼­ ÀÇ °ø°³Å°·ÎºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº, ¾Ïȣȭ ¶Ç´Â Ű ·¦ÇοëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È­ ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é,InvalidKeyException¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters ¶Ç´Â getIV (ÆÄ¶ó¹ÌÅͰ¡ IV °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³­¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â ÀνºÅç µÇ°í ÀÖ´Â ÇÁ·Î¹ÙÀÌ´õ °¡¿îµ¥, °¡Àå ¿ì¼± ¼øÀ§ÀÇ ³ôÀº ÇÁ·Î¹ÙÀÌ´õÀÇ SecureRandom ±¸ÇöÀ» ³­¼öÀÇ ¹ß»ý¿øÀ¸·Î¼­ »ç¿ëÇØ ³­¼ö ¹ÙÀÌÆ®¸¦ ÃëµæÇÕ´Ï´Ù. SecureRandom ±¸ÇöÀ» Á¦°øÇÏ´Â ÇÁ·Î¹ÙÀÌ´õ°¡ ÀνºÅçµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â ½Ã½ºÅÛÀÌ Á¦°øÇÏ´Â ³­¼öÀÇ ¹ß»ý¿øÀÌ »ç¿ëµË´Ï´Ù.

Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâÈ­µÇ¸é, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈ­ÇÏ´Â °ÍÀº, ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈ­ÇÏ´Â °Í°ú °°½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ¾î¶² °ÍÀ̳ª)
certificate - ÀÎÁõ¼­
¿¹¿Ü:
InvalidKeyException - ÁöÁ¤µÈ ÀÎÁõ¼­ ÀÇ °ø°³Å°°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È­Å° ¶Ç´Â ·¦ÇÎ ÇØÁ¦Å°¿ëÀ¸·Î ÃʱâÈ­µÇ¾î ÁöÁ¤µÈ ÀÎÁõ¼­ ÀÇ °ø°³Å°·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ÀÎÁõ¼­ ÀÇ °ø°³Å°ÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ëŰ »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì

init

public final void init(int opmode,
                       Certificate  certificate,
                       SecureRandom  random)
                throws InvalidKeyException 
ÀÌ ¾ÏÈ£¸¦, °ËÁõ Á¶ÀÛÀ» À§Çؼ­ ÁöÁ¤µÈ °ø°³Å° ¹× ³­¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÃʱâÈ­ÇÕ´Ï´Ù.

ÀÌ ¾ÏÈ£´Â opmode °ª¿¡ µû¶ó, ¾Ïȣȭ, º¹È£È­, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î ÃʱâÈ­µË´Ï´Ù.

ÀÎÁõ¼­ ÀÇ Á¾·ù°¡ X. 509 ·Î Áß¿ä¿Í ¸¶Å© µÈ key usage È®Àå ¿µ¿ªÀÌ ÀÖ¾î,key usage È®Àå ¿µ¿ªÀÇ °ª¿¡ ÇØ ÀÎÁõ¼­ ÀÇ °ø°³Å°¿Í °Å±â¿¡ ´ëÀÀÇÏ´Â ºñ°ø°³Å°°¡ opmode °ªÀ¸·Î ³ªÅ¸³»Áö´Â Á¶ÀÛ¿¡ »ç¿ëµÇÁö ¾Ê´Â °ÍÀ¸·Î ÀÖ´Â °æ¿ì´Â InvalidKeyException °¡ Throw µË´Ï´Ù.

ÀÌ ¾ÏÈ£°¡, ÁöÁ¤µÈ certificate °ø°³Å°·ÎºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº, ¾Ïȣȭ ¶Ç´Â Ű ·¦ÇοëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È­ ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î ÃʱâÈ­µÇ°í ÀÖÀ¸¸é,InvalidKeyException¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â getParameters ¶Ç´Â getIV (ÆÄ¶ó¹ÌÅͰ¡ IV °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.

ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³­¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random ·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.

Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâÈ­µÇ¸é, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈ­ÇÏ´Â °ÍÀº, ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈ­ÇÏ´Â °Í°ú °°½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ¾î¶² °ÍÀ̳ª)
certificate - ÀÎÁõ¼­
random - ³­¼öÀÇ ¼Ò½º
¿¹¿Ü:
InvalidKeyException - ÁöÁ¤µÈ ÀÎÁõ¼­ ÀÇ °ø°³Å°°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­¿¡ ºÎÀûÀýÇÑ °æ¿ì, ÀÌ ¾ÏÈ£°¡ º¹È£È­Å° ¶Ç´Â ·¦ÇÎ ÇØÁ¦Å°¿ëÀ¸·Î ÃʱâÈ­µÇ¾î ÁöÁ¤µÈ ÀÎÁõ¼­ ÀÇ °ø°³Å°·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ ÀÎÁõ¼­ ÀÇ °ø°³Å°ÀÇ »çÀÌÁî°¡ ÃÖ´ë Çã¿ëŰ »çÀÌÁî (¼³Á¤µÇ¾î ÀÖ´Â °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ÇØ °áÁ¤)¸¦ ³Ñ´Â °æ¿ì

update

public final byte[] update(byte[] input)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.

input ¹öÆÛ³»ÀÇ ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú°¡ »õ·Î¿î ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.

input ±æÀ̰¡ Á¦·ÎÀÇ °æ¿ì, ÀÌ ¸Þ¼­µå´Â null¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ¹öÆÛ
¹Ýȯ°ª:
°á°ú°¡ µé¾î°£ »õ·Î¿î ¹öÆÛ. ±âº»ÀÌ µÇ´Â ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÀÔ·Â µ¥ÀÌÅͰ¡ ´ÜÀΰ¡ Áö³ª »õ·Î¿î ºí·ÏÀÌ µÇÁö ¾Ê´Â °æ¿ì´Â null
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)

update

public final byte[] update(byte[] input,
                           int inputOffset,
                           int inputLen)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.

inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú°¡ »õ·Î¿î ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.

inputLen °¡ Á¦·ÎÀÇ °æ¿ì, ÀÌ ¸Þ¼­µå´Â null¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ¹öÆÛ
inputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)
inputLen - ÀÔ·ÂÀå
¹Ýȯ°ª:
°á°ú°¡ µé¾î°£ »õ·Î¿î ¹öÆÛ. ±âº»ÀÌ µÇ´Â ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÀÔ·Â µ¥ÀÌÅͰ¡ ´ÜÀΰ¡ Áö³ª »õ·Î¿î ºí·ÏÀÌ µÇÁö ¾Ê´Â °æ¿ì´Â null
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)

update

public final int update(byte[] input,
                        int inputOffset,
                        int inputLen,
                        byte[] output)
                 throws ShortBufferException 
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.

inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú°¡ output ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.

output ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException °¡ Throw µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize ¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.

inputLen °¡ 0 °æ¿ì, ÀÌ ¸Þ¼­µå´Â ±æÀÌ Á¦·Î¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÁÖ: ÀÌ ¸Þ¼­µå´Â Ä«ÇÇ¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input ¹× output ¹öÆÛ´Â °°Àº ¹ÙÀÌÆ® ¹è¿­À» ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ¹öÆÛ
inputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)
inputLen - ÀÔ·ÂÀå
output - °á°ú¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛ
¹Ýȯ°ª:
output ¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
ShortBufferException - ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì

update

public final int update(byte[] input,
                        int inputOffset,
                        int inputLen,
                        byte[] output,
                        int outputOffset)
                 throws ShortBufferException 
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.

inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú´Â output ¹öÆÛÀÇ outputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ À§Ä¡¿¡ Æ÷ÇԵ˴ϴÙ.

output ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException °¡ Throw µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize ¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.

inputLen °¡ 0 °æ¿ì, ÀÌ ¸Þ¼­µå´Â ±æÀÌ Á¦·Î¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÁÖ: ÀÌ ¸Þ¼­µå´Â Ä«ÇÇ¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input ¹× output ¹öÆÛ´Â °°Àº ¹ÙÀÌÆ® ¹è¿­À» ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ¹öÆÛ
inputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)
inputLen - ÀÔ·ÂÀå
output - °á°ú¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛ
outputOffset - °á°ú°¡ Æ÷ÇԵǴ output ³»ÀÇ ¿ÀÇÁ¼Â(offset)
¹Ýȯ°ª:
output ¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
ShortBufferException - ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì

update

public final int update(ByteBuffer  input,
                        ByteBuffer  output)
                 throws ShortBufferException 
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù.

input.position() ·Î ½ÃÀ۵Ǵ ¸ðµç input.remaining() ¹ÙÀÌÆ®°¡ 󸮵˴ϴÙ. °á°ú´Â Ãâ·Â ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ. ±Í°¡½Ã¿¡´Â ÀÔ·Â ¹öÆÛÀÇ À§Ä¡´Â °Ô´Ù°¡ ÇѰú °°°Ô µÇ¾î, »óÇÑÀº º¯°æµÇÁö ¾Ê½À´Ï´Ù. Ãâ·Â ¹öÆÛÀÇ À§Ä¡´Â ÀÌ ¸Þ¼­µå·Î µ¹·ÁÁÖ°íÁö´Â °ªÀÎ n ¸¸ ÁøÇàµË´Ï´Ù. Ãâ·Â ¹öÆÛÀÇ »óÇÑÀº º¯°æµÇÁö ¾Ê½À´Ï´Ù.

output.remaining() ¹öÆÛ°¡ °á°ú¸¦ º¸°ü À¯ÁöÇϴµ¥ ºÒÃæºÐÇÑ °æ¿ì´Â ShortBufferException °¡ Throw µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize ¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.

ÁÖ: ÀÌ ¸Þ¼­µå´Â Ä«ÇÇ¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input ¹× output ¹öÆÛ´Â °°Àº ¸Þ¸ð¸®ºê·ÏÅ©¸¦ ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ByteBuffer
output - Ãâ·Â ByteByffer
¹Ýȯ°ª:
output ¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
IllegalArgumentException - ÀÔ·Â ¹× Ãâ·ÂÀÌ °°Àº ¿ÀºêÁ§Æ®ÀÇ °æ¿ì
ReadOnlyBufferException - Ãâ·Â ¹öÆÛ°¡ Àо Àü¿ë ¹öÆÛÀÎ °æ¿ì
ShortBufferException - Ãâ·Â ¹öÆÛ³»¿¡ ³²¾Æ ÀÖ´Â ¿ë·®ÀÌ ºÎÁ·ÇÑ °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.5

doFinal

public final byte[] doFinal()
                     throws IllegalBlockSizeException,

                            BadPaddingException 
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» Á¾·áÇÕ´Ï´Ù.

ÀÔ·Â µ¥ÀÌÅÍ´Â ÀüÀÇ update Á¶ÀÛÁß¿¡ ¹öÆÛ¿¡ ³Ö¾îÁ®, ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµÇ°í ÀÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. °á°ú´Â »õ·Î¿î ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.

Á¾·á½Ã¿¡ ÀÌ ¸Þ¼­µå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init¸¦ È£ÃâÇØ ÃʱâÈ­µÇ¾úÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÇØ ´Ù¸£´Ù).

ÁÖ: ¿¹¿Ü°¡ Throw µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
°á°ú°¡ µé¾î°£ »õ·Î¿î ¹öÆÛ
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾Ïȣȭ ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ¶Ç´Â ÀÌ ¾Ïȣȭ ¾Ë°í¸®Áò¿¡¼­´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException - ÀÌ ¾ÏÈ£°¡ º¹È£È­ ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È­ µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì

doFinal

public final int doFinal(byte[] output,
                         int outputOffset)
                  throws IllegalBlockSizeException,

                         ShortBufferException,

                         BadPaddingException 
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾Ïȣȭ ¶Ç´Â º¹È£È­ Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ­ ¹æ¹ý¿¡ ÇØ ´Ù¸£´Ù)À» Á¾·áÇÕ´Ï´Ù.

ÀÔ·Â µ¥ÀÌÅÍ´Â ÀüÀÇ update Á¶ÀÛÁß¿¡ ¹öÆÛ¿¡ ³Ö¾îÁ®, ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµÇ°í ÀÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. °á°ú´Â outputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ output ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.

output ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException °¡ Throw µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize ¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.

Á¾·á½Ã¿¡ ÀÌ ¸Þ¼­µå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init¸¦ È£ÃâÇØ ÃʱâÈ­µÇ¾úÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÇØ ´Ù¸£´Ù).

ÁÖ: ¿¹¿Ü°¡ Throw µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
output - °á°ú¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛ
outputOffset - °á°ú°¡ Æ÷ÇԵǴ output ³»ÀÇ ¿ÀÇÁ¼Â(offset)
¹Ýȯ°ª:
output ¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾Ïȣȭ ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ¶Ç´Â ÀÌ ¾Ïȣȭ ¾Ë°í¸®Áò¿¡¼­´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
ShortBufferException - ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException - ÀÌ ¾ÏÈ£°¡ º¹È£È­ ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È­ µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì

doFinal

public final byte[] doFinal(byte[] input)
                     throws IllegalBlockSizeException,

                            BadPaddingException 
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. µ¥ÀÌÅÍ´Â ÀÌ ¾ÏÈ£°¡ ÃʱâÈ­µÈ ¹æ¹ý¿¡ µû¶ó, ¾Ïȣȭ ¶Ç´Â º¹È£È­ µË´Ï´Ù.

input ¹öÆÛ³»ÀÇ ¹ÙÀÌÆ® ¹× ÀüÀÇ update Á¶ÀÛÁß¿¡ ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â »õ·Î¿î ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.

Á¾·á½Ã¿¡ ÀÌ ¸Þ¼­µå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init¸¦ È£ÃâÇØ ÃʱâÈ­µÇ¾úÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÇØ ´Ù¸£´Ù).

ÁÖ: ¿¹¿Ü°¡ Throw µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ¹öÆÛ
¹Ýȯ°ª:
°á°ú°¡ µé¾î°£ »õ·Î¿î ¹öÆÛ
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾Ïȣȭ ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ¶Ç´Â ÀÌ ¾Ïȣȭ ¾Ë°í¸®Áò¿¡¼­´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException - ÀÌ ¾ÏÈ£°¡ º¹È£È­ ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È­ µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì

doFinal

public final byte[] doFinal(byte[] input,
                            int inputOffset,
                            int inputLen)
                     throws IllegalBlockSizeException,

                            BadPaddingException 
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. µ¥ÀÌÅÍ´Â ÀÌ ¾ÏÈ£°¡ ÃʱâÈ­µÈ ¹æ¹ý¿¡ µû¶ó, ¾Ïȣȭ ¶Ç´Â º¹È£È­ µË´Ï´Ù.

inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ® ¹× ÀüÀÇ update Á¶ÀÛÀ¸·Î ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â »õ·Î¿î ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.

Á¾·á½Ã¿¡ ÀÌ ¸Þ¼­µå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init¸¦ È£ÃâÇØ ÃʱâÈ­µÇ¾úÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÇØ ´Ù¸£´Ù).

ÁÖ: ¿¹¿Ü°¡ Throw µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ¹öÆÛ
inputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)
inputLen - ÀÔ·ÂÀå
¹Ýȯ°ª:
°á°ú°¡ µé¾î°£ »õ·Î¿î ¹öÆÛ
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾Ïȣȭ ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ¶Ç´Â ÀÌ ¾Ïȣȭ ¾Ë°í¸®Áò¿¡¼­´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException - ÀÌ ¾ÏÈ£°¡ º¹È£È­ ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È­ µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì

doFinal

public final int doFinal(byte[] input,
                         int inputOffset,
                         int inputLen,
                         byte[] output)
                  throws ShortBufferException,

                         IllegalBlockSizeException,

                         BadPaddingException 
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. µ¥ÀÌÅÍ´Â ÀÌ ¾ÏÈ£°¡ ÃʱâÈ­µÈ ¹æ¹ý¿¡ µû¶ó, ¾Ïȣȭ ¶Ç´Â º¹È£È­ µË´Ï´Ù.

inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ® ¹× ÀüÀÇ update Á¶ÀÛÀ¸·Î ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â output ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.

output ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException °¡ Throw µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize ¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.

Á¾·á½Ã¿¡ ÀÌ ¸Þ¼­µå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init¸¦ È£ÃâÇØ ÃʱâÈ­µÇ¾úÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÇØ ´Ù¸£´Ù).

ÁÖ: ¿¹¿Ü°¡ Throw µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÁÖ: ÀÌ ¸Þ¼­µå´Â Ä«ÇÇ¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input ¹× output ¹öÆÛ´Â °°Àº ¹ÙÀÌÆ® ¹è¿­À» ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ¹öÆÛ
inputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)
inputLen - ÀÔ·ÂÀå
output - °á°ú¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛ
¹Ýȯ°ª:
output ¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾Ïȣȭ ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ¶Ç´Â ÀÌ ¾Ïȣȭ ¾Ë°í¸®Áò¿¡¼­´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
ShortBufferException - ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException - ÀÌ ¾ÏÈ£°¡ º¹È£È­ ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È­ µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì

doFinal

public final int doFinal(byte[] input,
                         int inputOffset,
                         int inputLen,
                         byte[] output,
                         int outputOffset)
                  throws ShortBufferException,

                         IllegalBlockSizeException,

                         BadPaddingException 
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. µ¥ÀÌÅÍ´Â ÀÌ ¾ÏÈ£°¡ ÃʱâÈ­µÈ ¹æ¹ý¿¡ µû¶ó, ¾Ïȣȭ ¶Ç´Â º¹È£È­ µË´Ï´Ù.

inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ® ¹× ÀüÀÇ update Á¶ÀÛÀ¸·Î ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â outputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ output ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.

output ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException °¡ Throw µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize ¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.

Á¾·á½Ã¿¡ ÀÌ ¸Þ¼­µå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init¸¦ È£ÃâÇØ ÃʱâÈ­µÇ¾úÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÇØ ´Ù¸£´Ù).

ÁÖ: ¿¹¿Ü°¡ Throw µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÁÖ: ÀÌ ¸Þ¼­µå´Â Ä«ÇÇ¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input ¹× output ¹öÆÛ´Â °°Àº ¹ÙÀÌÆ® ¹è¿­À» ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ¹öÆÛ
inputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)
inputLen - ÀÔ·ÂÀå
output - °á°ú¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛ
outputOffset - °á°ú°¡ Æ÷ÇԵǴ output ³»ÀÇ ¿ÀÇÁ¼Â(offset)
¹Ýȯ°ª:
output ¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾Ïȣȭ ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ¶Ç´Â ÀÌ ¾Ïȣȭ ¾Ë°í¸®Áò¿¡¼­´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
ShortBufferException - ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException - ÀÌ ¾ÏÈ£°¡ º¹È£È­ ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È­ µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì

doFinal

public final int doFinal(ByteBuffer  input,
                         ByteBuffer  output)
                  throws ShortBufferException,

                         IllegalBlockSizeException,

                         BadPaddingException 
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. µ¥ÀÌÅÍ´Â ÀÌ ¾ÏÈ£°¡ ÃʱâÈ­µÈ ¹æ¹ý¿¡ µû¶ó, ¾Ïȣȭ ¶Ç´Â º¹È£È­ µË´Ï´Ù.

input.position() ·Î ½ÃÀ۵Ǵ ¸ðµç input.remaining() ¹ÙÀÌÆ®°¡ 󸮵˴ϴÙ. °á°ú´Â Ãâ·Â ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ. ±Í°¡½Ã¿¡´Â ÀÔ·Â ¹öÆÛÀÇ À§Ä¡´Â ±× Á¦ÇѰú µ¿ÀÏÇØÁ®, Á¦ÇÑÀº º¯°æÇÏÁö ¾Ê½À´Ï´Ù. Ãâ·Â ¹öÆÛÀÇ À§Ä¡´Â ÀÌ ¸Þ¼­µå·Î µ¹·ÁÁÖ°íÁö´Â °ªÀÇ n ¸¸ ÁøÇàµË´Ï´Ù. Ãâ·Â ¹öÆÛÀÇ Á¦ÇÑÀº º¯°æÇÏÁö ¾Ê½À´Ï´Ù.

output.remaining() ¹öÆÛ°¡ °á°ú¸¦ º¸°ü À¯ÁöÇϴµ¥ ºÒÃæºÐÇÑ °æ¿ì´Â ShortBufferException °¡ Throw µË´Ï´Ù. ÀÌ °æ¿ì, º¸´Ù Å« Ãâ·Â ¹öÆÛ¸¦ »ç¿ëÇØ ÀÌ È£ÃâÀ» ¹Ýº¹ÇÕ´Ï´Ù. getOutputSize ¸¦ »ç¿ëÇØ, ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ »çÀÌÁ ÆÇÁ¤ÇÕ´Ï´Ù.

Á¾·á½Ã¿¡ ÀÌ ¸Þ¼­µå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í init¸¦ È£ÃâÇØ ÃʱâÈ­µÇ¾úÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾Ïȣȭ ¶Ç´Â º¹È£È­ Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (init È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÇØ ´Ù¸£´Ù).

ÁÖ: ¿¹¿Ü°¡ Throw µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÁÖ: ÀÌ ¸Þ¼­µå´Â Ä«ÇÇ¿¡ ´ëÇØ¼­ ¾ÈÀüÇÑ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï,input ¹× output ¹öÆÛ´Â °°Àº ¹ÙÀÌÆ® ¹è¿­À» ÂüÁ¶ÇÒ ¼ö°¡ ÀÖ¾î °á°ú°¡ Ãâ·Â ¹öÆÛ¿¡ Ä«ÇÇµÉ ¶§ ¹Ìó¸®ÀÇ ÀÔ·Â µ¥ÀÌÅͰ¡ µ¡¾²±âµÇÁö ¾Ê´Â °ÍÀÌ ÇÊ¿äÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
input - ÀÔ·Â ByteBuffer
output - Ãâ·Â ByteBuffer
¹Ýȯ°ª:
output ¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
IllegalArgumentException - ÀÔ·Â ¹× Ãâ·ÂÀÌ °°Àº ¿ÀºêÁ§Æ®ÀÇ °æ¿ì
ReadOnlyBufferException - Ãâ·Â ¹öÆÛ°¡ Àо Àü¿ë ¹öÆÛÀÎ °æ¿ì
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾Ïȣȭ ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì, ¶Ç´Â ÀÌ ¾Ïȣȭ ¾Ë°í¸®Áò¿¡¼­´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
ShortBufferException - Ãâ·Â ¹öÆÛ³»¿¡ ³²¾Æ ÀÖ´Â ¿ë·®ÀÌ ºÎÁ·ÇÑ °æ¿ì
BadPaddingException - ÀÌ ¾ÏÈ£°¡ º¹È£È­ ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È­ µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.5

wrap

public final byte[] wrap(Key  key)
                  throws IllegalBlockSizeException,

                         InvalidKeyException 
۸¦ ·¦ ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
key - ·¦ µÇ´Â Ű
¹Ýȯ°ª:
·¦ µÈ Ű
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í, ·¦ µÇ´Â ŰÀÇ ÀÎÄÚµùÀÇ ±æÀ̰¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
InvalidKeyException - ÀÌ ¾ÏÈ£¸¦ »ç¿ëÇØ ۸¦°¨½Î´Â °ÍÀÌ ºÒ°¡´ÉÇѰ¡ ¾ÈÀüÇÏÁö ¾ÊÀº °æ¿ì (¿¹¸¦ µé¾î, Çϵå¿þ¾î º¸È£µÈ ۰¡ ¼ÒÇÁÆ®¿þ¾î¸¸ÀÇ ¾ÏÈ£¿¡°Ô °Ç³×Áö´Â °æ¿ì)

unwrap

public final Key  unwrap(byte[] wrappedKey,
                        String  wrappedKeyAlgorithm,
                        int wrappedKeyType)
                 throws InvalidKeyException,

                        NoSuchAlgorithmException 
Àü¿¡ ·¦ µÈ ۸¦ ·¦ ÇØÁ¦ÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
wrappedKey - ·¦ÀÌ ÇØÁ¦µÇ´Â Ű
wrappedKeyAlgorithm - ·¦ µÈ Ű¿¡ °ü·ÃÇÑ ¾Ë°í¸®Áò
wrappedKeyType - ·¦ µÈ ŰÀÇ Å¸ÀÔ. SECRET_KEY,PRIVATE_KEY, ¶Ç´Â PUBLIC_KEY ¾î¶² °ÍÀΰ¡ÀÏ Çʿ䰡 ÀÖ´Ù
¹Ýȯ°ª:
·¦ ÇØÁ¦µÈ Ű
¿¹¿Ü:
IllegalStateException - ÀÌ ¾ÏÈ£°¡ À߸øÇÑ »óÅ¿¡ ÀÖ´Â °æ¿ì (¿¹¸¦ µé¾î, ÃʱâÈ­µÇ¾î ÀÖÁö ¾Ê´Ù)
NoSuchAlgorithmException - ÀνºÅç µÇ°í ÀÖ´Â ¾î´À ÇÁ·Î¹ÙÀÌ´õµµ wrappedKeyAlgorithm wrappedKeyType ŸÀÔÀÇ Å°¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø´Â °æ¿ì
InvalidKeyException - wrappedKey °¡ wrappedKeyAlgorithm ·¦ Ű ŸÀÔ wrappedKeyType¸¦ ³ªÅ¸³»Áö ¾ÊÀº °æ¿ì

getMaxAllowedKeyLength

public static final int getMaxAllowedKeyLength(String  transformation)
                                        throws NoSuchAlgorithmException 
ÀνºÅç ÇÑ JCE °üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ±Ù°ÅÇØ, ÁöÁ¤ÀÇ º¯È¯À» ½Ç½ÃÇÏ´Â ÃÖ´ëÀÇ Å°ÀÇ ±æÀ̸¦ µ¹·ÁÁÝ´Ï´Ù. JCE ·Î °­µµ°¡ ¹«Á¦ÇÑÀÇ °üÇÒ Æú¸®½Ã ÆÄÀÏÀÌ ÀνºÅç µÇ°í ÀÖ´Â °æ¿ì´Â Integer.Max_Value °¡ µ¹·ÁÁÖ°íÁý´Ï´Ù. JCE ±ÇÇÑ Æú¸®½Ã ÆÄÀÏÀÇ µðÆúÆ®ÀÇ Å°ÀÇ »çÀÌÁîÀÇ »ó¼¼ÇÑ °Í¿¡ ´ëÇÏ¿©´Â ¡¸JCE ·¹ÆÛ·±½º °¡À̵塹¸¦ ÂüÁ¶ÇϽʽÿÀ.

ÆÄ¶ó¹ÌÅÍ:
transformation - ¾Ïȣȭ º¯È¯
¹Ýȯ°ª:
ŰÀÇ ÃÖ´ë bit length ¶Ç´Â Integer.MAX_VALUE
¿¹¿Ü:
NullPointerException - transformation °¡ null °æ¿ì
NoSuchAlgorithmException - Çü½ÄÀÌ ¡¸¾Ë°í¸®Áò¡¹¶Ç´Â ¡¸¾Ë°í¸®Áò/¸ðµå/ÆÐµù¡¹ µî,transformation °¡ À¯È¿ÇÑ º¯È¯ÀÌ ¾Æ´Ñ °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.5

getMaxAllowedParameterSpec

public static final AlgorithmParameterSpec  getMaxAllowedParameterSpec(String  transformation)
                                                               throws NoSuchAlgorithmException 
°üÇÒ Æú¸®½Ã ÆÄÀÏ¿¡ ±Ù°ÅÇØ, ÃÖ´ë ¾Ïȣȭ ÆÄ¶ó¹ÌÅÍÄ¡¸¦ Æ÷ÇÔÇÑ AlgorithmParameterSpec ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù. JCE °­µµ ¹«Á¦ÇÑÀÇ Æú¸®½Ã ÆÄÀÏÀÌ ÀνºÅç µÇ°í ÀÖ´ÂÁö, Æú¸®½Ã ÆÄÀÏ·Î ÁöÁ¤µÇ°í ÀÖ´Â º¯È¯ÀÇ ÆÄ¶ó¹ÌÅÍ¿¡ ÃÖ´ëÄ¡ÀÇ Á¦ÇÑÀÌ ¾ø´Â °æ¿ì´Â null °¡ µ¹·ÁÁÖ°íÁý´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
transformation - ¾Ïȣȭ º¯È¯
¹Ýȯ°ª:
ÃÖ´ëÄ¡ ¶Ç´Â null¸¦ º¸°ü À¯ÁöÇÏ´Â AlgorithmParameterSpec
¿¹¿Ü:
NullPointerException - transformation °¡ null °æ¿ì
NoSuchAlgorithmException - Çü½ÄÀÌ ¡¸¾Ë°í¸®Áò¡¹¶Ç´Â ¡¸¾Ë°í¸®Áò/¸ðµå/ÆÐµù¡¹ µî,transformation °¡ À¯È¿ÇÑ º¯È¯ÀÌ ¾Æ´Ñ °æ¿ì
µµÀÔµÈ ¹öÁ¯:
1.5

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.