Hello,
Can someone shows me how to set he right padding key for the DES Algorithm? I have 15 alpha-numerics key to decrypt the encrypted value but when I get to the legal key, it extracts the secret key to 8bytes to meet the DES Algorithm requirement and the return value for decrypted is "null", I wonder why is it and how do I set the right padding key for decrypting the encrypted value with the right secret key? Thanks
public
virtual byte[] GetLegalKey(){
// Adjust key if necessary, and return a valid key if (mCryptoService.LegalKeySizes.Length > 0){
// Key sizes in bits int keySize = mKey.Length * 8; int minSize = mCryptoService.LegalKeySizes[0].MinSize; int maxSize = mCryptoService.LegalKeySizes[0].MaxSize; int skipSize = mCryptoService.LegalKeySizes[0].SkipSize;if (keySize > maxSize)
{
// Extract maximum size allowedmKey = mKey.Substring(0, maxSize / 8);
}
else if (keySize < maxSize){
// Set valid size int validSize = (keySize <= minSize) ? minSize : (keySize - keySize % skipSize) + skipSize; if (keySize < validSize){
// Pad the key with asterisk to make up the sizemKey = mKey.PadRight(validSize / 8,
'*');}
}
}
PasswordDeriveBytes key = new PasswordDeriveBytes(mKey, ASCIIEncoding.ASCII.GetBytes(mSalt)); return key.GetBytes(mKey.Length);}
Replies
Know the answer? Post it — somebody with the same question will find it here.