|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjavax.crypto.CipherSpi
public abstract class 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
¿¹¿Ü¸¦ Throw ÇÕ´Ï´Ù.
Cipher
¿£Áø Ŭ·¡½ºÀÇ getInstance
ÆÑÅ丮 ¸Þ¼µå´Â ¡¸¾Ë°í¸®Áò/¸ðµå/ÆÐµù¡¹ÀÇ Çü½ÄÀÇ º¯È¯À» À§ÇÑ CipherSpi
ÇÁ·Î¹ÙÀÌ´õÀÇ ±¸ÇöÀ» ÀνºÅϽºÈÇϱâ À§Çؼ ´ÙÀ½ÀÇ ±ÔÄ¢¿¡ µû¸¨´Ï´Ù.
CipherSpi
¼ºê Ŭ·¡½º¸¦ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù
´ë´äÀÌ YESÀÎ °æ¿ì´Â ÀνºÅϽºÈÇÕ´Ï´Ù.
´ë´äÀÌ NOÀÎ °æ¿ì´Â ´ÙÀ½ÀÇ ½ºÅÜ¿¡ ÁøÇàµË´Ï´Ù.
CipherSpi
¼ºê Ŭ·¡½º¸¦ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù
´ë´äÀÌ YESÀÎ °æ¿ì´Â ÀνºÅϽºÈÇØ, »õ·Î¿î ÀνºÅϽº·Î engineSetPadding(padding)
¸¦ È£ÃâÇÕ´Ï´Ù.
´ë´äÀÌ NOÀÎ °æ¿ì´Â ´ÙÀ½ÀÇ ½ºÅÜ¿¡ ÁøÇàµË´Ï´Ù.
CipherSpi
¼ºê Ŭ·¡½º¸¦ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù
´ë´äÀÌ YESÀÎ °æ¿ì´Â ÀνºÅϽºÈÇØ, »õ·Î¿î ÀνºÅϽº·Î engineSetMode(mode)
¸¦ È£ÃâÇÕ´Ï´Ù.
´ë´äÀÌ NOÀÎ °æ¿ì´Â ´ÙÀ½ÀÇ ½ºÅÜ¿¡ ÁøÇàµË´Ï´Ù.
CipherSpi
¼ºê Ŭ·¡½º¸¦ ÇÁ·Î¹ÙÀÌ´õ°¡ µî·ÏÇϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÑ´Ù
´ë´äÀÌ YESÀÎ °æ¿ì´Â ÀνºÅϽºÈÇØ, »õ·Î¿î ÀνºÅϽº·Î engineSetMode(mode)
¹× engineSetPadding(padding)
¸¦ È£ÃâÇÕ´Ï´Ù.
´ë´äÀÌ NOÀÎ °æ¿ì´Â NoSuchAlgorithmException
¿¹¿Ü¸¦ Throw ÇÕ´Ï´Ù.
KeyGenerator
,
SecretKey
»ý¼ºÀÚ °³¿ä | |
---|---|
CipherSpi ()
|
¸Þ¼µå °³¿ä | |
---|---|
protected abstract byte[] |
engineDoFinal (byte[] input,
int inputOffset,
int inputLen)
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. |
protected abstract int |
engineDoFinal (byte[] input,
int inputOffset,
int inputLen,
byte[] output,
int outputOffset)
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. |
protected int |
engineDoFinal (ByteBuffer input,
ByteBuffer output)
´ÜÀÏÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ¸·Î µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È ÇÏ´ÂÁö, º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â Á¶ÀÛÀ» Á¾·áÇÕ´Ï´Ù. |
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)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù. |
protected abstract int |
engineUpdate (byte[] input,
int inputOffset,
int inputLen,
byte[] output,
int outputOffset)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù. |
protected int |
engineUpdate (ByteBuffer input,
ByteBuffer output)
º¹¼öÀÇ ºÎºÐÀ¸·ÎºÎÅÍ ¿Ï¼ºµÇ´Â ¾ÏÈ£È ¶Ç´Â º¹È£È Á¶ÀÛ (ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ ¹æ¹ý¿¡ ÀÇÇØ ´Ù¸£´Ù)À» °è¼ÓÇØ, ´Ù¸¥ µ¥ÀÌÅÍ ºÎºÐÀ» ó¸®ÇÕ´Ï´Ù. |
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°¡ »ç¿ëÀÚ ÁöÁ¤ÀÇ ÆÐ½º ÇÁ·¹ÀÌÁî·ÎºÎÅÍ ÆÄ»ýÇÏ´Â ÆÐ½º¿öµå º£À̽ºÀÇ ¾ÏÈ£È ¶Ç´Â º¹È£ÈÀÇ ÄÁÅØ½ºÆ®¿¡ ´ëÇØ µµ¿òÀÌ µË´Ï´Ù.
protected abstract AlgorithmParameters engineGetParameters()
¸®ÅÏµÈ ÆÄ¶ó¹ÌÅÍ´Â ÀÌ ¾ÏÈ£¸¦ ÃʱâÈÇϴµ¥ »ç¿ëÇÑ °Í°ú °°Àº °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¶Ç´Â ¸®ÅÏµÈ ÆÄ¶ó¹ÌÅÍ¿¡´Â ÀÌ ¾ÏÈ£¿¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÇÊ¿äÇØ, ÇÑÆí ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍ·Î ÃʱâȵÇÁö ¾Ê¾Ò´ø °æ¿ì¿¡ ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀ¸·Î »ç¿ëµÇ´Â µðÆúÆ®¿Í ·£´ýÀÇ ÆÄ¶ó¹ÌÅͰªÀÇ Æí¼ºÀÌ Æ÷ÇԵǴ Àϵµ ÀÖ½À´Ï´Ù.
protected abstract void engineInit(int opmode, Key key, SecureRandom random) throws InvalidKeyException
ÀÌ ¾ÏÈ£´Â opmode
°ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4°³ÀÇ Á¶ÀÛÀÇ 1°³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡ ÁöÁ¤µÈ key
·Î
ºÎÅÍ ÆÄ»ýÇÒ ¼ö ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â Ű ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, InvalidKeyException
À»
¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â engineGetParameters
¶Ç´Â engineGetIV
(ÆÄ¶ó¹ÌÅͰ¡ IVÀÎ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î
ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random
·Î
ºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher °´Ã¼°¡ ÃʱâȵǸé, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
, DECRYPT_MODE
, WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
¾î¶² °ÍÀ̳ª)key
- ¾ÏÈ£ÈŰrandom
- ³¼öÀÇ ¼Ò½º
InvalidKeyException
- ÁöÁ¤µÈ ۰¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÀÌ ¾ÏÈ£°¡ º¹È£È¿ëÀ¸·Î ÃʱâȵǾî ÁöÁ¤µÈ Ű·ÎºÎÅÍ ÆÇÁ¤ÇÒ ¼ö°¡ ¾ø´Â ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ìprotected abstract void engineInit(int opmode, Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException
ÀÌ ¾ÏÈ£´Â opmode
°ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4°³ÀÇ Á¶ÀÛÀÇ 1°³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ, params
°¡ nullÀÎ °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â Ű ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, InvalidAlgorithmParameterException
À»
¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â engineGetParameters
¶Ç´Â engineGetIV
(ÆÄ¶ó¹ÌÅͰ¡ IVÀÎ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î
ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random
·Î
ºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher °´Ã¼°¡ ÃʱâȵǸé, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
, DECRYPT_MODE
, WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
¾î¶² °ÍÀ̳ª)key
- ¾ÏÈ£ÈŰparams
- ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍrandom
- ³¼öÀÇ ¼Ò½º
InvalidKeyException
- ÁöÁ¤µÈ ۰¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì
InvalidAlgorithmParameterException
- ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÀÌ ¾ÏÈ£°¡ º¹È£È¿ëÀ¸·Î ÃʱâÈµÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ, params
°¡ nullÀÎ °æ¿ìprotected abstract void engineInit(int opmode, Key key, AlgorithmParameters params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException
ÀÌ ¾ÏÈ£´Â opmode
°ª¿¡ µû¶ó, ¾ÏÈ£È, º¹È£È, Ű ·¦ÇÎ, ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦ÀÇ 4°³ÀÇ Á¶ÀÛÀÇ 1°³¿¡ ¸ÂÃß¾î Ãʱâȵ˴ϴÙ.
ÀÌ ¾ÏÈ£°¡ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ, params
°¡ nullÀÎ °æ¿ì, ±âº»ÀÌ µÇ´Â ¾ÏÈ£ ±¸ÇöÀº ¾ÏÈ£È ¶Ç´Â Ű ·¦ÇοëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, ÇÁ·Î¹ÙÀÌ´õ °íÀ¯ÀÇ µðÆúÆ® ¶Ç´Â ·£´ýÄ¡¸¦ »ç¿ëÇØ ÇÊ¿äÇÑ ÆÄ¶ó¹ÌÅÍ ÀÚü¸¦ »ý¼ºÇØ, º¹È£È ¶Ç´Â Ű ·¦ÇÎ ÇØÁ¦¿ëÀ¸·Î Ãʱâȵǰí ÀÖÀ¸¸é, InvalidAlgorithmParameterException
À»
¹ß»ý½Ãŵ´Ï´Ù. »ý¼ºµÈ ÆÄ¶ó¹ÌÅÍ´Â engineGetParameters
¶Ç´Â engineGetIV
(ÆÄ¶ó¹ÌÅͰ¡ IVÀÎ °æ¿ì)¸¦ »ç¿ëÇØ ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
ÀÌ ¾ÏÈ£ (±âº»ÀÌ µÇ´Â Çǵå¹é ¶Ç´Â ÆÐµù ¹æ½ÄÀ» Æ÷ÇÔÇÑ´Ù)°¡ ³¼ö ¹ÙÀÌÆ®¸¦ ÇÊ¿ä·Î ÇÏ´Â °æ¿ì (¿¹¸¦ µé¾î
ÆÄ¶ó¹ÌÅÍ »ý¼ºÀ» À§ÇØ)´Â random
·Î
ºÎÅÍ ÃëµæÇÕ´Ï´Ù.
Cipher °´Ã¼°¡ ÃʱâȵǸé, ÀÌÀü¿¡ ÃëµæÇÑ »óÅ´ ¸ðµÎ ¾ø¾îÁý´Ï´Ù. Áï, Cipher¸¦ ÃʱâÈÇÏ´Â °ÍÀº ±× Cipher »õ·Î¿î ÀνºÅϽº¸¦ ÀÛ¼ºÇØ ÃʱâÈÇÏ´Â °Í°ú °°½À´Ï´Ù.
opmode
- ÀÌ ¾ÏÈ£ÀÇ Á¶ÀÛ ¸ðµå (ENCRYPT_MODE
, DECRYPT_MODE
, WRAP_MODE
, ¶Ç´Â UNWRAP_MODE
¾î¶² °ÍÀ̳ª)key
- ¾ÏÈ£ÈŰparams
- ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅÍrandom
- ³¼öÀÇ ¼Ò½º
InvalidKeyException
- ÁöÁ¤µÈ ۰¡ ÀÌ ¾ÏÈ£ÀÇ ÃʱâÈ¿¡ ºÎÀûÀýÇÑ °æ¿ì
InvalidAlgorithmParameterException
- ÁöÁ¤µÈ ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅͰ¡ ÀÌ ¾ÏÈ£¿¡ ºÎÀûÀýÇÑ °æ¿ì, ¶Ç´Â ÀÌ ¾ÏÈ£°¡ º¹È£È¿ëÀ¸·Î ÃʱâÈµÇ¾î ¾Ë°í¸®Áò ÆÄ¶ó¹ÌÅ͸¦ ÇÊ¿ä·Î ÇØ, 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 int engineUpdate(ByteBuffer input, ByteBuffer output) throws ShortBufferException
input.position()
·Î
½ÃÀ۵Ǵ ¸ðµç input.remaining()
¹ÙÀÌÆ®°¡ 󸮵˴ϴÙ. °á°ú´Â Ãâ·Â ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ. ±Í°¡½Ã¿¡´Â ÀÔ·Â ¹öÆÛÀÇ À§Ä¡´Â ±× Á¦ÇѰú µ¿ÀÏÇØÁ®, Á¦ÇÑÀº º¯°æÇÏÁö ¾Ê½À´Ï´Ù. Ãâ·Â ¹öÆÛÀÇ À§Ä¡´Â ÀÌ ¸Þ¼µå·Î ¸®ÅϵÈ
°ªÀÇ n ¸¸ ÁøÇàµË´Ï´Ù. Ãâ·Â ¹öÆÛÀÇ Á¦ÇÑÀº º¯°æÇÏÁö ¾Ê½À´Ï´Ù.
output.remaining()
¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException
°¡ ¹ß»ý µË´Ï´Ù.
¼ºê Ŭ·¡½º¿¡¼´Â ¹ÙÀÌÆ® ¹è¿º¸´Ù È¿À²ÀûÀ¸·Î ByteBuffer¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â °æ¿ì´Â ÀÌ ¸Þ¼µåÀÇ ¿À¹ö¶óÀ̵å(override)¸¦ °ËÅäÇØ ÁÖ¼¼¿ä.
input
- ÀÔ·Â ByteBufferoutput
- Ãâ·Â ByteByffer
output
¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
ShortBufferException
- Ãâ·Â ¹öÆÛ³»¿¡ ³²¾Æ ÀÖ´Â ¿ë·®ÀÌ ºÎÁ·ÇÑ °æ¿ì
NullPointerException
- ¾î´À ÂÊÀΰ¡ÀÇ ÆÄ¶ó¹ÌÅͰ¡ null
ÀÎ °æ¿ìprotected abstract byte[] engineDoFinal(byte[] input, int inputOffset, int inputLen) throws IllegalBlockSizeException, BadPaddingException
inputOffset
·Î
ºÎÅÍ ½ÃÀ۵Ǵ input
¹öÆÛ³»ÀÇ ÃÖÃÊÀÇ inputLen
¹ÙÀÌÆ® ¹× ÀüÀÇ update
Á¶ÀÛÀ¸·Î ¹öÆÛ¿¡ ³Ö¾îÁø °¡´É¼ºÀÌ ÀÖ´Â ¸ðµç ÀÔ·Â ¹ÙÀÌÆ®°¡ ó¸®µÇ¾î ÆÐµù (¿ä±¸µÇ¾úÀ» °æ¿ì)ÀÌ Àû¿ëµË´Ï´Ù. °á°ú´Â »õ·Î¿î ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ.
Á¾·á½Ã¿¡
ÀÌ ¸Þ¼µå´Â ÀÌ ¾ÏÈ£ °´Ã¼¸¦ ¾Õ¿¡ µÎ°í engineInit
¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼Â ÇÕ´Ï´Ù. Áï, °´Ã¼´Â ¸®¼Â µÇ¾î, ¶ÇÇÑ
µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (engineInit
È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ¹ß»ýµÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ °´Ã¼´Â ¸®¼Â ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛinputOffset
- ÀÔ·ÂÀ» °³½ÃÇÏ´Â input
³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen
- ÀÔ·ÂÀå
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì. ¶Ç´Â ÀÌ ¾ÏÈ£È ¾Ë°í¸®Áò¿¡¼´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException
- ÀÌ ¾ÏÈ£°¡ º¹È£È ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì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
¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼Â ÇÕ´Ï´Ù. Áï, °´Ã¼´Â ¸®¼Â µÇ¾î, ¶ÇÇÑ
µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (engineInit
È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ¹ß»ýµÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ °´Ã¼´Â ¸®¼Â ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
input
- ÀÔ·Â ¹öÆÛinputOffset
- ÀÔ·ÂÀ» °³½ÃÇÏ´Â input
³»ÀÇ ¿ÀÇÁ¼Â(offset)inputLen
- ÀÔ·ÂÀåoutput
- °á°ú¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛoutputOffset
- °á°ú°¡ Æ÷ÇԵǴ output
³»ÀÇ ¿ÀÇÁ¼Â(offset)
output
¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì. ¶Ç´Â ÀÌ ¾ÏÈ£È ¾Ë°í¸®Áò¿¡¼´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
ShortBufferException
- ÁöÁ¤µÈ Ãâ·Â ¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì
BadPaddingException
- ÀÌ ¾ÏÈ£°¡ º¹È£È ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ìprotected int engineDoFinal(ByteBuffer input, ByteBuffer output) throws ShortBufferException, IllegalBlockSizeException, BadPaddingException
input.position()
·Î
½ÃÀ۵Ǵ ¸ðµç input.remaining()
¹ÙÀÌÆ®°¡ 󸮵˴ϴÙ. °á°ú´Â Ãâ·Â ¹öÆÛ¿¡ Æ÷ÇԵ˴ϴÙ. ±Í°¡½Ã¿¡´Â ÀÔ·Â ¹öÆÛÀÇ À§Ä¡´Â ±× Á¦ÇѰú µ¿ÀÏÇØÁ®, Á¦ÇÑÀº º¯°æÇÏÁö ¾Ê½À´Ï´Ù. Ãâ·Â ¹öÆÛÀÇ À§Ä¡´Â ÀÌ ¸Þ¼µå·Î ¸®ÅϵÈ
°ªÀÇ n ¸¸ ÁøÇàµË´Ï´Ù. Ãâ·Â ¹öÆÛÀÇ Á¦ÇÑÀº º¯°æÇÏÁö ¾Ê½À´Ï´Ù.
output.remaining()
¹öÆÛ°¡ ³Ê¹« ÀÛ¾Æ °á°ú¸¦ º¸°ü À¯ÁöÇÒ ¼ö ¾ø´Â °æ¿ì´Â ShortBufferException
°¡ ¹ß»ý µË´Ï´Ù.
Á¾·á½Ã¿¡
ÀÌ ¸Þ¼µå´Â ÀÌ ¾ÏÈ£ °´Ã¼¸¦ ¾Õ¿¡ µÎ°í engineInit
¸¦ È£ÃâÇØ ÃʱâȵǾúÀ» ¶§ »óÅ¿¡ ¸®¼Â ÇÕ´Ï´Ù. Áï, °´Ã¼´Â ¸®¼Â µÇ¾î, ¶ÇÇÑ
µ¥ÀÌÅ͸¦ ¾ÏÈ£È ¶Ç´Â º¹È£È Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (engineInit
È£Ãâ·Î ÁöÁ¤µÈ Á¶ÀÛ ¸ðµå¿¡ ÀÇÇØ ´Ù¸£´Ù).
ÁÖ: ¿¹¿Ü°¡ ¹ß»ýµÇ´Â °æ¿ì, ÀÌ ¾ÏÈ£ °´Ã¼´Â ¸®¼Â ÇÏÁö ¾ÊÀ¸¸é ÀçÂ÷ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
¼ºê Ŭ·¡½º¿¡¼´Â ¹ÙÀÌÆ® ¹è¿º¸´Ù È¿À²ÀûÀ¸·Î ByteBuffer¸¦ ó¸®ÇÒ ¼ö ÀÖ´Â °æ¿ì´Â ÀÌ ¸Þ¼µåÀÇ ¿À¹ö¶óÀ̵å(override)¸¦ °ËÅäÇØ ÁÖ¼¼¿ä.
input
- ÀÔ·Â ByteBufferoutput
- Ãâ·Â ByteByffer
output
¿¡ Æ÷ÇÔµÈ ¹ÙÀÌÆ®¼ö
IllegalBlockSizeException
- ÀÌ ¾ÏÈ£°¡ ºí·Ï ¾ÏÈ£À̸ç, ÆÐµùÀÌ ¿ä±¸µÇÁö ¾Ê°í (¾ÏÈ£È ¸ðµåÀÇ °æ¿ì¸¸), ÀÌ ¾ÏÈ£·Î ó¸®µÈ µ¥ÀÌÅÍÀÇ ÀÔ·ÂÀåÀÇ ÇÕ°è°¡ ºí·Ï »çÀÌÁîÀÇ ¹è¼ö°¡ ¾Æ´Ñ °æ¿ì. ¶Ç´Â ÀÌ ¾ÏÈ£È ¾Ë°í¸®Áò¿¡¼´Â Á¦°øµÈ ÀÔ·Â µ¥ÀÌÅ͸¦ ó¸®ÇÒ ¼ö ¾ø´Â °æ¿ì
ShortBufferException
- Ãâ·Â ¹öÆÛ³»¿¡ ³²¾Æ ÀÖ´Â ¿ë·®ÀÌ ºÎÁ·ÇÑ °æ¿ì
BadPaddingException
- ÀÌ ¾ÏÈ£°¡ º¹È£È ¸ðµåÀ̸ç, ÆÐµù (¶Ç´Â ÆÐµù ÇØÁ¦)ÀÌ ¿ä±¸µÇ¾úÁö¸¸, º¹È£È µÈ µ¥ÀÌÅͰ¡ ÀûÀýÇÑ ÆÐµù ¹ÙÀÌÆ®·Î ¹ÙÀÎµå µÇÁö ¾Ê´Â °æ¿ì
NullPointerException
- ¾î´À ÂÊÀΰ¡ÀÇ ÆÄ¶ó¹ÌÅͰ¡ null
ÀÎ °æ¿ì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
¾î¶² °ÍÀΰ¡
NoSuchAlgorithmException
- ÀνºÅç µÇ°í ÀÖ´Â ¾î´À ÇÁ·Î¹ÙÀÌ´õµµ wrappedKeyAlgorithm
wrappedKeyType
ŸÀÔÀÇ Å°¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø´Â °æ¿ì
InvalidKeyException
- wrappedKey
°¡ wrappedKeyAlgorithm
·¦ Ű ŸÀÔ wrappedKeyType
¸¦ ³ªÅ¸³»Áö ¾ÊÀº °æ¿ìprotected int engineGetKeySize(Key key) throws InvalidKeyException
ÀÌ ±¸»ó ¸Þ¼µå´Â ÀÌ Á¤ÀÇ ³¡³ Ãß»ó Ŭ·¡½º¿¡ Ãß°¡µÇ°í ÀÖ½À´Ï´Ù. ÇÁ·Î¹ÙÀÌ´õ¿¡ ÀÇÇØ ¿À¹ö¶óÀ̵å(override) µÇÁö ¾Ê´Â °æ¿ì´Â UnsupportedOperationException
À»
Throw ÇÕ´Ï´Ù.
key
- Ű °´Ã¼
InvalidKeyException
- key
°¡ ¹«È¿ÀÎ °æ¿ì
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.