Key Property
The secret key for the symmetric algorithm.
Syntax
ANSI (Cross Platform) int GetKey(char* &lpKey, int &lenKey);
int SetKey(const char* lpKey, int lenKey); Unicode (Windows) INT GetKey(LPSTR &lpKey, INT &lenKey);
INT SetKey(LPCSTR lpKey, INT lenKey);
@property (nonatomic,readwrite,assign,getter=key,setter=setKey:) NSString* key; - (NSString*)key; - (void)setKey:(NSString*)newKey;
@property (nonatomic,readwrite,assign,getter=keyB,setter=setKeyB:) NSData* keyB; - (NSData*)keyB; - (void)setKeyB:(NSData*)newKey;
#define PID_IDEA_KEY 5 IPWORKSENCRYPT_EXTERNAL void* IPWORKSENCRYPT_CALL IPWorksEncrypt_IDEA_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal); IPWORKSENCRYPT_EXTERNAL int IPWORKSENCRYPT_CALL IPWorksEncrypt_IDEA_Set(void *lpObj, int propid, int arridx, const void *val, int cbVal);
Default Value
""
Remarks
This secret key is used both for encryption and decryption. The secret key should be known only to the sender and the receiver. The legal key size varies depending on the algorithm.
If this property is left empty and KeyPassword is specified, a Key value will be generated by the class as necessary.
Legal Key and Block Sizes (in bits)
AES | Rijndael | CAST | DES | IDEA | RC2 | RC4 | TripleDES | Blowfish | Twofish | TEA | |
Minimum Key Size | 128 | 128 | 112 | 64 | 128 | 112 | 112 | 128 | 112 | 128 | 128 |
Maximum Key Size | 256 | 256 | 128 | 64 | 128 | 128 | 2048 | 192 | 448 | 256 | 128 |
Key Size Step | 64 | 64 | 8 | 0 | 0 | 8 | 8 | 64 | 1 | 8 | 0 |
Block Size | 128 | 128/192/256 | 64 | 64 | 64 | 64 | N/A | 64 | 64 | 128 | 64* |
Note: When using TEA if Algorithm is set to XXTEA valid block sizes are 64 + n * 32. Where n is any positive integer.
The default KeySize is the Maximum Key Size.
Data Type
Binary String