|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
| ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
| °³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå | ||||||||||
java.lang.Object | +--javax.crypto.CipherSpi
ÀÌ Å¬·¡½º´Â Cipher Ŭ·¡½ºÀÇ Service Provider Interface (SPI)¸¦ Á¤ÀÇÇÕ´Ï´Ù. ƯÁ¤ÀÇ ¾ÏÈ£ ¾Ë°í¸®ÁòÀÇ ±¸ÇöÀ» Á¦°øÇÏ´Â °¢ ¾ÏÈ£È ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ´Â ÀÌ Å¬·¡½ºÀÇ ¸ðµç Ãß»ó ¸Þ¼Òµå¸¦ ±¸ÇöÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
ÀÌ CipherSpi Ŭ·¡½ºÀÇ ÀνºÅϽº¸¦ ĸ½¶ÈÇÏ´Â Cipher ÀÇ ÀνºÅϽº¸¦ »ý¼ºÇÏ·Á¸é , ¾îÇø®ÄÉÀ̼ÇÀº Cipher ¿£Áø Ŭ·¡½ºÀÇ getInstance ÆÑÅ丮 ¸Þ¼ÒµåÀÇ 1 °³¸¦ È£ÃâÇØ, ¿ä±¸µÈ ¡¸º¯È¯¡¹À» ÁöÁ¤ÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº Çʿ信 µû¶ó¼, ÇÁ·Î¹ÙÀÌ´õÀÇ À̸§À» ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
¡¸º¯È¯¡¹À̶õ, Ãâ·ÂÀ» »ý¼ºÇϱâ À§Çؼ, ÁöÁ¤µÈ ÀԷ¿¡ ´ëÇØ¼ ½ÇÇàÇÏ´Â Á¶ÀÛ (¶Ç´Â ÀÏ·ÃÀÇ Á¶ÀÛ)À» ±â¼úÇϴ ij¸¯ÅÍ ¶óÀÎÀÔ´Ï´Ù. º¯È¯¿¡´Â Ç×»ó ¾ÏÈ£È ¾Ë°í¸®Áò¸í (DES µî)ÀÌ Æ÷ÇԵǾî ÀÖ¾î Çǵå¹é ¸ðµå¿Í ÆÐµù ¹æ½ÄÀÌ ³ªÁß¿¡ °è¼ÓµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
º¯È¯ÀÇ Çü½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.
ÈÄÀÚÀÇ °æ¿ì, ¸ðµå¿Í ÆÐµù ¹æ½Ä¿¡ ´ëÇØ¼´Â ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® °ª°¡ »ç¿ëµË´Ï´Ù. À¯È¿ÇÑ º¯È¯ÀÇ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.
Cipher c = Cipher.getInstance("DES/CBC/PKCS5Padding");
ÇÁ·Î¹ÙÀÌ´õ´Â ¡¸¾Ë°í¸®Áò/¸ðµå/ÆÐµù¡¹ÀÇ °¢ Æí¼º¿¡ ´ëÇØ¼ °³º°ÀÇ Å¬·¡½º¸¦ Á¦°øÇϵ簡, ȤÀº ¡¸¾Ë°í¸®Áò¡¹, ¡¸¾Ë°í¸®Áò/¸ðµå¡¹, ¶Ç´Â ¡¸¾Ë°í¸®Áò//ÆÐµù¡¹ (ÀÌÁß slash¿¡ ÁÖÀÇ)¿¡ ´ëÀÀÇÏ´Â ¼ºê º¯È¯À» ³ªÅ¸³»´Â °Íº¸´Ù ¹ü¿ëÀûÀΠŬ·¡½º¸¦ Á¦°øÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¹ü¿ëÀûÀΠŬ·¡½º¸¦ Á¦°øÇÏ´Â °æ¿ì, ¿ä±¸µÈ ¸ðµå³ª ÆÐµùÀº ÇÁ·Î¹ÙÀÌ´õÀÇ CipherSpi ÀÇ ¼ºê Ŭ·¡½ºÀÇ engineSetMode ¹× engineSetPadding ¸Þ¼Òµå¸¦ È£ÃâÇÏ´Â Cipher ÀÇ getInstance ¸Þ¼Òµå¿¡ ÀÇÇØ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤µË´Ï´Ù.
ÇÁ·Î¹ÙÀÌ´õÀÇ ¸¶½ºÅÍ Å¬·¡½º³»ÀÇ Cipher ÇÁ·ÎÆÛƼÀÇ Çü½ÄÀº ´ÙÀ½ÀÇ ¾î¶² °ÍÀΰ¡°¡ µË´Ï´Ù.
// provider's subclass of "CipherSpi" implements "algName" with
// pluggable mode and padding
Cipher. algName
// provider's subclass of "CipherSpi" implements "algName" in the
// specified "mode", with pluggable padding
Cipher. algName/mode
// provider's subclass of "CipherSpi" implements "algName" with the
// specified "padding", with pluggable mode
Cipher. algName//padding
// provider's subclass of "CipherSpi" implements "algName" with the
// specified "mode" and "padding"
Cipher. algName/mode/padding
¿¹¸¦ µé¾î, ÇÁ·Î¹ÙÀÌ´õ´Â DES/ECB/PKCS5Padding,DES/CBC/PKCS5Padding,DES/CFB/PKCS5Padding, ¹× DES/OFB/PKCS5Padding ¸¦ °¢°¢ ±¸ÇöÇÏ´Â CipherSpi ÀÇ ¼ºê Ŭ·¡½º¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× ÇÁ·Î¹ÙÀÌ´õ¿¡´Â ¸¶½ºÅÍ Å¬·¡½º¿¡ ´ÙÀ½ÀÇ Cipher ÇÁ·ÎÆÛƼ°¡ ÀÖ½À´Ï´Ù.
Cipher. DES/ECB/PKCS5Padding
Cipher. DES/CBC/PKCS5Padding
Cipher. DES/CFB/PKCS5Padding
Cipher. DES/OFB/PKCS5Padding
´Ù¸¥ ÇÁ·Î¹ÙÀÌ´õ´Â »ó±âÀÇ °¢ ¸ðµå¿ëÀÇ Å¬·¡½º (Áï,ECB,CBC,CFB, ¹×OFB ÀÇ °¢°¢ 1 °³ÀÇ Å¬·¡½º),PKCS5Padding ¿ëÀÇ Å¬·¡½º, ¹× CipherSpi ·ÎºÎÅÍ ¼ºê Ŭ·¡½ºÈ µÇ´Â ¹ü¿ë DES Ŭ·¡½º¸¦ ±¸ÇöÇÏ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù. ±× ÇÁ·Î¹ÙÀÌ´õ¿¡´Â ¸¶½ºÅÍ Å¬·¡½º¿¡ ´ÙÀ½ÀÇ Cipher ÇÁ·ÎÆÛƼ°¡ ÀÖ½À´Ï´Ù.
Cipher. DES
Cipher ¿£Áø Ŭ·¡½ºÀÇ getInstance ÆÑÅ丮 ¸Þ¼Òµå´Â ¡¸¾Ë°í¸®Áò¡¹ÀÇ Çü½ÄÀÇ º¯È¯À» À§ÇÑ CipherSpi ÀÇ ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸ÇöÀ» ÀνºÅϽºÈÇϱâ À§Çؼ(¶§¹®¿¡) ´ÙÀ½ÀÇ ±ÔÄ¢¿¡ µû¸¨´Ï´Ù.
CipherSpi ÀÇ ¼ºê Ŭ·¡½º¸¦ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù
´ë´äÀÌ YES ÀÇ °æ¿ì´Â ÀÌ Å¬·¡½º¸¦ ÀνºÅϽºÈÇÕ´Ï´Ù. ¸ðµå ¹× ÆÐµù ¹æ½ÄÀº µðÆúÆ®ÀÇ °ª (ÇÁ·Î¹ÙÀÌ´õ°¡ Á¦°ø)À» »ç¿ëÇÕ´Ï´Ù.
´ë´äÀÌ NO ÀÇ °æ¿ì´Â NoSuchAlgorithmException ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
Cipher ¿£Áø Ŭ·¡½ºÀÇ getInstance ÆÑÅ丮 ¸Þ¼Òµå´Â ¡¸¾Ë°í¸®Áò/¸ðµå/ÆÐµù¡¹ÀÇ Çü½ÄÀÇ º¯È¯À» À§ÇÑ CipherSpi ÀÇ ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸ÇöÀ» ÀνºÅϽºÈÇϱâ À§Çؼ(¶§¹®¿¡) ´ÙÀ½ÀÇ ±ÔÄ¢¿¡ µû¸¨´Ï´Ù.
CipherSpi ÀÇ ¼ºê Ŭ·¡½º¸¦ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù
´ë´äÀÌ YES ÀÇ °æ¿ì´Â ÀνºÅϽºÈÇÕ´Ï´Ù.
´ë´äÀÌ NO ÀÇ °æ¿ì´Â ´ÙÀ½ÀÇ ½ºÅÜ¿¡ ÁøÇàµË´Ï´Ù.
CipherSpi ÀÇ ¼ºê Ŭ·¡½º¸¦ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù
´ë´äÀÌ YES ÀÇ °æ¿ì´Â ÀνºÅϽºÈÇØ, »õ·Î¿î ÀνºÅϽº·Î engineSetPadding(padding) ¸¦ È£ÃâÇÕ´Ï´Ù.
´ë´äÀÌ NO ÀÇ °æ¿ì´Â ´ÙÀ½ÀÇ ½ºÅÜ¿¡ ÁøÇàµË´Ï´Ù.
CipherSpi ÀÇ ¼ºê Ŭ·¡½º¸¦ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù
´ë´äÀÌ YES ÀÇ °æ¿ì´Â ÀνºÅϽºÈÇØ, »õ·Î¿î ÀνºÅϽº·Î engineSetMode(mode) ¸¦ È£ÃâÇÕ´Ï´Ù.
´ë´äÀÌ NO ÀÇ °æ¿ì´Â ´ÙÀ½ÀÇ ½ºÅÜ¿¡ ÁøÇàµË´Ï´Ù.
CipherSpi ÀÇ ¼ºê Ŭ·¡½º¸¦ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù
´ë´äÀÌ YES ÀÇ °æ¿ì´Â ÀνºÅϽºÈÇØ, »õ·Î¿î ÀνºÅϽº·Î engineSetMode(mode) ¹× engineSetPadding(padding) ¸¦ È£ÃâÇÕ´Ï´Ù.
´ë´äÀÌ NO ÀÇ °æ¿ì´Â NoSuchAlgorithmException ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
KeyGenerator ,
SecretKey | »ý¼ºÀÚÀÇ °³¿ä | |
CipherSpi ()
|
|
| ¸Þ¼ÒµåÀÇ °³¿ä | |
protected abstract byte[] |
engineDoFinal (byte[] input,
int inputOffset,
int inputLen)
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) ÇÏ´ÂÁö º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. |
protected abstract int |
engineDoFinal (byte[] input,
int inputOffset,
int inputLen,
byte[] output,
int outputOffset)
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) ÇÏ´ÂÁö º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. |
protected abstract int |
engineGetBlockSize ()
ºí·Ï »çÀÌÁ µ¹·ÁÁÝ´Ï´Ù (¹ÙÀÌÆ® ´ÜÀ§). |
protected abstract byte[] |
engineGetIV ()
»õ·Î¿î ¹öÆÛÀÇ ÃʱâÈ º¤ÅÍ (IV)¸¦ µ¹·ÁÁÝ´Ï´Ù. |
protected int |
engineGetKeySize (Key key)
ÁöÁ¤µÈ ¿¼è ¿ÀºêÁ§Æ®ÀÇ ¿¼è »çÀÌÁ ºñÆ® ´ÜÀ§·Î µ¹·ÁÁÝ´Ï´Ù. |
protected abstract int |
engineGetOutputSize (int inputLen)
ÀÔ·ÂÀÇ ±æÀÌ inputLen (¹ÙÀÌÆ® ´ÜÀ§)¸¦ ÁöÁ¤ÇØ, ´ÙÀ½ÀÇ update ¶Ç´Â doFinal Á¶ÀÛÀÇ °á°ú¸¦ º¸°ü À¯ÁöÇϱâ À§Çؼ ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ ±æÀ̸¦ ¹ÙÀÌÆ®¼ö·Î µ¹·ÁÁÝ´Ï´Ù.
|
protected abstract AlgorithmParameters |
engineGetParameters ()
ÀÌ ¾ÏÈ£·Î »ç¿ëµÇ´Â ÆÄ¶ó¹ÌÅ͸¦ µ¹·ÁÁÝ´Ï´Ù. |
protected abstract void |
engineInit (int opmode,
Key key,
AlgorithmParameterSpec params,
SecureRandom random)
¿¼è, ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ®, ¹× ³¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇÕ´Ï´Ù. |
protected abstract void |
engineInit (int opmode,
Key key,
AlgorithmParameters params,
SecureRandom random)
¿¼è, ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͼ¼Æ®, ¹× ³¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇÕ´Ï´Ù. |
protected abstract void |
engineInit (int opmode,
Key key,
SecureRandom random)
¿¼è¿Í ³¼öÀÇ ¹ß»ý¿øÀ» »ç¿ëÇØ ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇÕ´Ï´Ù. |
protected abstract void |
engineSetMode (String mode)
ÀÌ ¾ÏÈ£ÀÇ ¸ðµå¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
protected abstract void |
engineSetPadding (String padding)
ÀÌ ¾ÏÈ£ÀÇ ÆÐµù ±â±¸¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
protected Key |
engineUnwrap (byte[] wrappedKey,
String wrappedKeyAlgorithm,
int wrappedKeyType)
Àü¿¡ ·¦ µÈ ¿¼è¸¦ ·¦ ÇØÁ¦ÇÕ´Ï´Ù. |
protected abstract byte[] |
engineUpdate (byte[] input,
int inputOffset,
int inputLen)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù. |
protected abstract int |
engineUpdate (byte[] input,
int inputOffset,
int inputLen,
byte[] output,
int outputOffset)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù. |
protected byte[] |
engineWrap (Key key)
¿¼è¸¦ ·¦ ÇÕ´Ï´Ù. |
| Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| »ý¼ºÀÚÀÇ »ó¼¼ |
public CipherSpi()
| ¸Þ¼ÒµåÀÇ »ó¼¼ |
protected abstract void engineSetMode(String mode)
throws NoSuchAlgorithmException
mode - ¾ÏÈ£È ¸ðµå
NoSuchAlgorithmException - ¿ä±¸µÈ ¾ÏÈ£È ¸ðµå°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
protected abstract void engineSetPadding(String padding)
throws NoSuchPaddingException
padding - ÆÐµù ±â±¸
NoSuchPaddingException - ¿ä±¸µÈ ÆÐµù ±â±¸°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ìprotected abstract int engineGetBlockSize()
protected abstract int engineGetOutputSize(int inputLen)
inputLen (¹ÙÀÌÆ® ´ÜÀ§)¸¦ ÁöÁ¤ÇØ, ´ÙÀ½ÀÇ update ¶Ç´Â doFinal Á¶ÀÛÀÇ °á°ú¸¦ º¸°ü À¯ÁöÇϱâ À§Çؼ ÇÊ¿äÇÑ Ãâ·Â ¹öÆÛÀÇ ±æÀ̸¦ ¹ÙÀÌÆ®¼ö·Î µ¹·ÁÁÝ´Ï´Ù.
ÀÌ È£Ãâ¿¡¼´Â ÀÌÀüÀÇ update È£ÃâÀÇ Ã³¸®µÇ¾î ÀÖÁö ¾ÊÀº (¹öÆÛ¿¡ ÀÖ´Ù) µ¥ÀÌÅ͸¦ °í·ÁÇØ, ÆÐµù ÇÕ´Ï´Ù.
´ÙÀ½ÀÇ update ¶Ç´Â doFinal È£ÃâÀÇ ½ÇÁ¦ÀÇ Ãâ·ÂÀåÀº ÀÌ ¸Þ¼Òµå°¡ µ¹·ÁÁÖ´Â ±æÀ̺¸´Ù ÀÛÀº ÀÏÀÌ ÀÖ½À´Ï´Ù.
inputLen - ÀÔ·ÂÀå (¹ÙÀÌÆ® ´ÜÀ§)
protected abstract byte[] engineGetIV()
À̰ÍÀº IV °¡ À¯Àú ÁöÁ¤ÀÇ ÆÐ½º ÇÁ·¹ÀÌÁî·ÎºÎÅÍ ÆÄ»ýÇÏ´Â ÆÐ½º¿öµå º£À̽ºÀÇ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode)ÀÇ ¹®¸Æ¿¡ ´ëÇØ µµ¿òÀÌ µË´Ï´Ù.
protected abstract AlgorithmParameters engineGetParameters()
µ¹·ÁÁÖ¾îÁö´Â ÆÄ¶ó¹ÌÅÍ´Â ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇϴµ¥ »ç¿ëÇÑ °Í°ú °°Àº °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¶Ç´Â µ¹·ÁÁÖ¾îÁö´Â ÆÄ¶ó¹ÌÅÍ¿¡´Â ÀÌ ¾ÏÈ£¿¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÇÊ¿äÇØ, ÇÑÆí ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ·Î ÃʱâȵÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀ¸·Î »ç¿ëµÇ´Â µðÆúÆ®¿Í ·£´ýÀÇ ÆÄ¶ó¹ÌÅÍÄ¡ÀÇ Æí¼ºÀÌ Æ÷ÇԵǴ Àϵµ ÀÖ½À´Ï´Ù.
protected abstract void engineInit(int opmode,
Key key,
SecureRandom random)
throws InvalidKeyException
ÀÌ ¾ÏÈ£´Â opmode ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡, ÁöÁ¤µÈ key ·ÎºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidKeyException ¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â engineGetParameters ¶Ç´Â engineGetIV (ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random ·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ÀÇ ¾î¶² °ÍÀ̳ª)key - ¾Ïȣȿ¼èrandom - ³¼öÀÇ ¹ß»ý¿ø
InvalidKeyException - ÁöÁ¤µÈ ¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿ëÀ¸·Î ÃʱâȵǾî ÁöÁ¤µÈ ¿¼è·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì
protected abstract void engineInit(int opmode,
Key key,
AlgorithmParameterSpec params,
SecureRandom random)
throws InvalidKeyException ,
InvalidAlgorithmParameterException
ÀÌ ¾ÏÈ£´Â opmode ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null ÀÇ °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidAlgorithmParameterException ¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â engineGetParameters ¶Ç´Â engineGetIV (ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random ·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ÀÇ ¾î¶² °ÍÀ̳ª)key - ¾Ïȣȿ¼èparams - ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍrandom - ³¼öÀÇ ¹ß»ý¿ø
InvalidKeyException - ÁöÁ¤µÈ ¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì
InvalidAlgorithmParameterException - ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿ëÀ¸·Î ÃʱâÈµÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null ÀÇ °æ¿ì
protected abstract void engineInit(int opmode,
Key key,
AlgorithmParameters params,
SecureRandom random)
throws InvalidKeyException ,
InvalidAlgorithmParameterException
ÀÌ ¾ÏÈ£´Â opmode ÀÇ °ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È(decode), ¿¼è ·¦ÇÎ, ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦ÀÇ 4 °³ÀÇ Á¶ÀÛÀÇ 1 °³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null ÀÇ °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â ¿¼è ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È(decode) ¶Ç´Â ¿¼è ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é,InvalidAlgorithmParameterException ¸¦ ¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â engineGetParameters ¶Ç´Â engineGetIV (ÆÄ¶ó¹ÌÅͰ¡ IV ÀÇ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î, ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random ·ÎºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher ¿ÀºêÁ§Æ®°¡ ÃʱâȵǸé(ÀÚ), ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher ¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher ÀÇ »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode - ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE,DECRYPT_MODE,WRAP_MODE, ¶Ç´Â UNWRAP_MODE ÀÇ ¾î¶² °ÍÀ̳ª)key - ¾Ïȣȿ¼èparams - ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍrandom - ³¼öÀÇ ¹ß»ý¿ø
InvalidKeyException - ÁöÁ¤µÈ ¿¼è°¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì
InvalidAlgorithmParameterException - ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÀÌ ¾ÏÈ£°¡ º¹È£È(decode)¿ëÀ¸·Î ÃʱâÈµÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ,params °¡ null ÀÇ °æ¿ì
protected abstract byte[] engineUpdate(byte[] input,
int inputOffset,
int inputLen)
inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú°¡ »õ·Î¿î ¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
input - ÀÔ·Â ¹öÆÛinputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen - ÀÔ·ÂÀå
protected abstract int engineUpdate(byte[] input,
int inputOffset,
int inputLen,
byte[] output,
int outputOffset)
throws ShortBufferException
inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î °á°ú´Â output ¹öÆÛÀÇ outputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ À§Ä¡¿¡ ÀúÀåµË´Ï´Ù.
output ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException °¡ ½½·Î¿ì µË´Ï´Ù.
input - ÀÔ·Â ¹öÆÛinputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen - ÀÔ·ÂÀåoutput - °á°ú¸¦ ÀúÀåÇÏ´Â ¹öÆÛoutputOffset - °á°ú°¡ ÀúÀåµÇ´Â output ³»ÀÇ ¿ÀÇÁ¼Â(offset)
output ¿¡ ÀúÀåµÈ ¹ÙÀÌÆ®¼ö
ShortBufferException - ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì
protected abstract byte[] engineDoFinal(byte[] input,
int inputOffset,
int inputLen)
throws IllegalBlockSizeException ,
BadPaddingException
inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ®, ¹× ÀüÀÇ update Á¶ÀÛÀ¸·Î ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â »õ·Î¿î ¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
Á¾·á½Ã¿¡, ÀÌ ¸Þ¼Òµå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í engineInit ¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (engineInit ÀÇ È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ½½·Î¿ì µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
input - ÀÔ·Â ¹öÆÛinputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen - ÀÔ·ÂÀå
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
BadPaddingException - ÀÌ ¾ÏÈ£°¡ º¹È£È(decode) ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È(decode) µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì
protected abstract int engineDoFinal(byte[] input,
int inputOffset,
int inputLen,
byte[] output,
int outputOffset)
throws ShortBufferException ,
IllegalBlockSizeException ,
BadPaddingException
inputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ input ¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen ¹ÙÀÌÆ®, ¹× ÀüÀÇ update Á¶ÀÛÀ¸·Î ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â outputOffset ·ÎºÎÅÍ ½ÃÀ۵Ǵ output ¹öÆÛ¿¡ ÀúÀåµË´Ï´Ù.
output ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException °¡ ½½·Î¿ì µË´Ï´Ù.
Á¾·á½Ã¿¡, ÀÌ ¸Þ¼Òµå´Â ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®¸¦ ¾Õ¿¡ µÎ°í engineInit ¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼ÂÆ® ÇÕ´Ï´Ù. Áï, ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® µÇ¾î, ÇÑÃþ ´õ µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È(decode) Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (engineInit ÀÇ È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ½½·Î¿ì µÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ ¿ÀºêÁ§Æ®´Â ¸®¼ÂÆ® ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
input - ÀÔ·Â ¹öÆÛinputOffset - ÀÔ·ÂÀ» °³½ÃÇÏ´Â input ³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen - ÀÔ·ÂÀåoutput - °á°ú¸¦ ÀúÀåÇÏ´Â ¹öÆÛoutputOffset - °á°ú°¡ ÀúÀåµÇ´Â output ³»ÀÇ ¿ÀÇÁ¼Â(offset)
output ¿¡ ÀúÀåµÈ ¹ÙÀÌÆ®¼ö
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
ShortBufferException - ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException - ÀÌ ¾ÏÈ£°¡ º¹È£È(decode) ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È(decode) µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì
protected byte[] engineWrap(Key key)
throws IllegalBlockSizeException ,
InvalidKeyException
ÀÌ ±¸»ó ¸Þ¼Òµå´Â »çÀü¿¡ Á¤ÀÇµÈ ÀÌ Ãß»ó Ŭ·¡½º¿¡ Ãß°¡µÈ °ÍÀÔ´Ï´Ù. ÇÏÀ§ ȣȯ¼ºÀ» À§Çؼ(¶§¹®¿¡), Ãß»ó ¸Þ¼Òµå¿¡´Â ÇÒ ¼ö ¾ø½À´Ï´Ù. ¿¼è¸¦ ·¦ Çϱâ À§Çؼ, ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ ¿À¹ö¶óÀ̵å(override) µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ±×·¯ÇÑ ¿À¹ö¶óÀ̵å(override)¸¦ ½Ç½ÃÇϸé, ÁöÁ¤µÈ ¿¼è¸¦ ·¦ ÇÒ ¼ö ¾ø´Â °æ¿ì¿¡, IllegalBlockSizeException ¶Ç´Â InvalidKeyException (ÁöÁ¤µÈ ȯ°æÇÏ)°¡ ½½·Î¿ì µË´Ï´Ù. ÀÌ ¸Þ¼Òµå°¡ ¿À¹ö¶óÀ̵å(override) µÇÁö ¾Ê´Â °æ¿ì´Â Ç×»ó UnsupportedOperationException °¡ ½½·Î¿ì µË´Ï´Ù.
key - ·¦ µÇ´Â ¿¼è
IllegalBlockSizeException - ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í ·¦ µÇ´Â ¿¼èÀÇ ÀÎÄÚµùÀÇ ±æÀ̰¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì
InvalidKeyException - ÀÌ ¾ÏÈ£¸¦ »ç¿ëÇØ ¿¼è¸¦ ·¦ ÇÏ´Â °ÍÀÌ ºÒ°¡´ÉÇѰ¡ ¾ÈÀüÇÏÁö ¾ÊÀº °æ¿ì (¿¹¸¦ µé¾î, Çϵå¿þ¾î º¸È£µÈ ¿¼è°¡ ¼ÒÇÁÆ®¿þ¾î¸¸ÀÇ ¾ÏÈ£¿¡°Ô °Ç³×Áö´Â °æ¿ì)
protected Key engineUnwrap(byte[] wrappedKey,
String wrappedKeyAlgorithm,
int wrappedKeyType)
throws InvalidKeyException ,
NoSuchAlgorithmException
ÀÌ ±¸»ó ¸Þ¼Òµå´Â »çÀü¿¡ Á¤ÀÇµÈ ÀÌ Ãß»ó Ŭ·¡½º¿¡ Ãß°¡µÈ °ÍÀÔ´Ï´Ù. ÇÏÀ§ ȣȯ¼ºÀ» À§Çؼ(¶§¹®¿¡), Ãß»ó ¸Þ¼Òµå¿¡´Â ÇÒ ¼ö ¾ø½À´Ï´Ù. Àü¿¡ ·¦ µÈ ¿¼è¸¦ ·¦ ÇØÁ¦Çϱâ À§Çؼ, ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ ¿À¹ö¶óÀ̵å(override) µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ±×·¯ÇÑ ¿À¹ö¶óÀ̵å(override)¸¦ ½Ç½ÃÇϸé, ÁöÁ¤µÈ, ·¦ µÇ°í ÀÖ´Â ¿¼è¸¦ ·¦ ÇØÁ¦ÇÒ ¼ö ¾ø´Â °æ¿ì¿¡, InvalidKeyException °¡ ½½·Î¿ì µË´Ï´Ù. ÀÌ ¸Þ¼Òµå°¡ ¿À¹ö¶óÀ̵å(override) µÇÁö ¾Ê´Â °æ¿ì´Â Ç×»ó UnsupportedOperationException °¡ ½½·Î¿ì µË´Ï´Ù.
wrappedKey - ·¦ÀÌ ÇØÁ¦µÇ´Â ¿¼èwrappedKeyAlgorithm - ·¦ µÈ ¿¼è¿¡ °ü·ÃÇÑ ¾Ë°í¸®ÁòwrappedKeyType - ·¦ µÈ ¿¼èÀÇ Å¸ÀÔ. SECRET_KEY,PRIVATE_KEY, ¶Ç´Â PUBLIC_KEY ÀÇ ¾î¶² °ÍÀΰ¡
InvalidKeyException - wrappedKey °¡ ·¦ µÈ ¿¼è¸¦ ³ªÅ¸³»Áö ¾ÊÀº °æ¿ì, ȤÀº ·¦ µÈ ¿¼è¿¡ °ü·ÃÇÑ ¾Ë°í¸®ÁòÀÌ wrappedKeyAlgorithm ¿Í ´Ù¸£°í ÀÖ´ÂÁö ±× ¿¼è ŸÀÔÀÌ wrappedKeyType ¿Í ´Ù¸£°í ÀÖ´Â °æ¿ì
NoSuchAlgorithmException - ÀνºÅç µÇ°í ÀÖ´Â ¾î´À ÇÁ·Î¹ÙÀÌ´õµµ wrappedKeyAlgorithm ÀÇ ¿¼è¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø´Â °æ¿ì
protected int engineGetKeySize(Key key)
throws InvalidKeyException
ÀÌ ±¸»ó ¸Þ¼Òµå´Â ÀÌ Á¤ÀÇ ³¡³ Ãß»ó Ŭ·¡½º¿¡ Ãß°¡µÇ°í ÀÖ½À´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ ¿À¹ö¶óÀ̵å(override) µÇÁö ¾Ê´Â °æ¿ì´Â UnsupportedOperationException ¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
key - ¿¼è ¿ÀºêÁ§Æ®
InvalidKeyException - key °¡ ¹«È¿ÀÎ °æ¿ì
|
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.