com.android.vending.licensing
Class AESObfuscator

java.lang.Object
  extended by com.android.vending.licensing.AESObfuscator
All Implemented Interfaces:
Obfuscator

public class AESObfuscator
extends java.lang.Object
implements Obfuscator

An Obfuscator that uses AES to encrypt data.


Constructor Summary
AESObfuscator(byte[] salt, java.lang.String applicationId, java.lang.String deviceId)
           
 
Method Summary
 java.lang.String obfuscate(java.lang.String original)
          Obfuscate a string that is being stored into shared preferences.
 java.lang.String unobfuscate(java.lang.String obfuscated)
          Undo the transformation applied to data by the obfuscate() method.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AESObfuscator

public AESObfuscator(byte[] salt,
                     java.lang.String applicationId,
                     java.lang.String deviceId)
Parameters:
salt - an array of random bytes to use for each (un)obfuscation
applicationId - application identifier, e.g. the package name
deviceId - device identifier. Use as many sources as possible to create this unique identifier.
Method Detail

obfuscate

public java.lang.String obfuscate(java.lang.String original)
Description copied from interface: Obfuscator
Obfuscate a string that is being stored into shared preferences.

Specified by:
obfuscate in interface Obfuscator
Parameters:
original - The data that is to be obfuscated.
Returns:
A tranformed version of the original data.

unobfuscate

public java.lang.String unobfuscate(java.lang.String obfuscated)
                             throws ValidationException
Description copied from interface: Obfuscator
Undo the transformation applied to data by the obfuscate() method.

Specified by:
unobfuscate in interface Obfuscator
Returns:
A tranformed version of the original data.
Throws:
ValidationException - Optionally thrown if a data integrity check fails.