IV Property
The initialization vector (IV) used when encrypting.
Syntax
ANSI (Cross Platform) int GetIV(char* &lpIV, int &lenIV);
int SetIV(const char* lpIV, int lenIV); Unicode (Windows) INT GetIV(LPSTR &lpIV, INT &lenIV);
INT SetIV(LPCSTR lpIV, INT lenIV);
@property (nonatomic,readwrite,assign,getter=IV,setter=setIV:) NSString* IV; - (NSString*)IV; - (void)setIV:(NSString*)newIV;
@property (nonatomic,readwrite,assign,getter=IVB,setter=setIVB:) NSData* IVB; - (NSData*)IVB; - (void)setIVB:(NSData*)newIV;
#define PID_ECC_IV 10 IPWORKSENCRYPT_EXTERNAL void* IPWORKSENCRYPT_CALL IPWorksEncrypt_ECC_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal); IPWORKSENCRYPT_EXTERNAL int IPWORKSENCRYPT_CALL IPWorksEncrypt_ECC_Set(void *lpObj, int propid, int arridx, const void *val, int cbVal);
Default Value
""
Remarks
This property optionally specifies an IV to be used when calling Encrypt or Decrypt. If specified the IV is used by EncryptionAlgorithm during encryption.
If not specified the class will create an IV filled with null bytes (zeros). Since the encryption key is only used once the use of null bytes in the IV is considered acceptable and is a standard practice.
The length of the IV should be as follows:
EncryptionAlgorithm | IV Length (in bytes) |
AES | 16 |
3DES | 8 |
This setting is not applicable when EncryptionAlgorithm is set to XOR.
Data Type
Binary String