|
|
(Chilkat for Android™ API) Match MySQL AES_ENCRYPT Function
Demonstrates how to use the MySqlAesEncrypt and MySqlAesDecrypt methods to match MySQL's AES_ENCRYPT and AES_DECRYPT functions.
Here are MySQL AES_ENCRYPT test vectors:
HEX(AES_ENCRYPT('The quick brown fox jumps over the lazy dog','password'))
Output:
CC5FDDF621AE2F48241BB80EDF2422949526FBAAA74885ACB020A74CAAB98BCFA1DD12E5D4C7922A2F9205D367921D9B
HEX(AES_ENCRYPT('The quick brown fox jumps over the lazy dog','a'))
Output:
47A7E5FB591AD818BA3C9025D040514696BF50C2EFB0A453730E23E824F5F0357F3F673FCF0A7BD16465E82F937ED365
HEX(AES_ENCRYPT('The quick brown fox jumps over the lazy dog','1234567890123456'))
Output:
D70F1A158553B721C5DB9220A627E7B17BFF78FF7A72C4AB565AC903A94DF76DB75A30583D4ED01E265147D5A9B04EC3
HEX(AES_ENCRYPT('The quick brown fox jumps over the lazy dog','abcdefghijklmnopqrstuvwxyz'))
Output:
425F259AD4C3DD0B37831C8F24507D7E1F056437C0D50D3C18FB6F600FC941A8D871E7DD7BCBEE4CA4698F074C135275
Download: Chilkat for Android™ Java Libraries
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;
import android.app.Activity;
import com.chilkatsoft.*;
import android.widget.TextView;
import android.os.Bundle;
public class SimpleActivity extends Activity {
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
String outStr = "";
CkCrypt2 crypt = new CkCrypt2();
boolean success;
success = crypt.UnlockComponent("Anything for 30-day trial");
if (success != true) {
outStr += crypt.lastErrorText() + "\n";
tv.setText(outStr);
setContentView(tv);
return;
}
String clearText;
clearText = "The quick brown fox jumps over the lazy dog";
String password;
String hexEncryptedStr;
String decryptedStr;
password = "password";
hexEncryptedStr = crypt.mySqlAesEncrypt(clearText,password);
outStr += hexEncryptedStr + "\n";
decryptedStr = crypt.mySqlAesDecrypt(hexEncryptedStr,password);
outStr += decryptedStr + "\n";
password = "a";
hexEncryptedStr = crypt.mySqlAesEncrypt(clearText,password);
outStr += hexEncryptedStr + "\n";
decryptedStr = crypt.mySqlAesDecrypt(hexEncryptedStr,password);
outStr += decryptedStr + "\n";
password = "1234567890123456";
hexEncryptedStr = crypt.mySqlAesEncrypt(clearText,password);
outStr += hexEncryptedStr + "\n";
decryptedStr = crypt.mySqlAesDecrypt(hexEncryptedStr,password);
outStr += decryptedStr + "\n";
password = "abcdefghijklmnopqrstuvwxyz";
hexEncryptedStr = crypt.mySqlAesEncrypt(clearText,password);
outStr += hexEncryptedStr + "\n";
decryptedStr = crypt.mySqlAesDecrypt(hexEncryptedStr,password);
outStr += decryptedStr + "\n";
tv.setText(outStr);
setContentView(tv);
}
static {
// Important: Make sure the name passed to loadLibrary matches the shared library
// found in your project's libs/armeabi directory.
// for "libchilkat.so", pass "chilkat" to loadLibrary
// for "libchilkatemail.so", pass "chilkatemail" to loadLibrary
// etc.
//
System.loadLibrary("chilkat");
// Note: If the incorrect library name is passed to System.loadLibrary,
// then you will see the following error message at application startup:
//"The application <your-application-name> has stopped unexpectedly. Please try again."
}
}
|