Forced UTF-8 charset during encryption/decryption of notifications in

order to fix a decryption error that occurs sometimes. This error is
produced by a wrong decryption of non-printable characters of the
string. Fix pending of verification.
This commit is contained in:
Juan Miguel Boyero Corral 2012-12-26 18:04:25 +01:00
parent 08c2eeaafd
commit d543869346
3 changed files with 12 additions and 12 deletions

View File

@ -8,5 +8,5 @@
# project structure.
# Project target.
target=android-14
target=android-17
android.library=false

View File

@ -316,11 +316,11 @@ public class Test extends Model {
s = buff.toString().trim();
//Remove accents
s = s.replace('', 'a');
s = s.replace('Ž', 'e');
s = s.replace('', 'i');
s = s.replace('', 'o');
s = s.replace('œ', 'u');
s = s.replace('á', 'a');
s = s.replace('é', 'e');
s = s.replace('í', 'i');
s = s.replace('ó', 'o');
s = s.replace('ú', 'u');
return s;
}

View File

@ -27,7 +27,7 @@ import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
/**
* Cryptographic class for encription purposes.
* Cryptographic class for encryption purposes.
* @author Juan Miguel Boyero Corral <juanmi1982@gmail.com>
*/
public class Crypto
@ -36,8 +36,8 @@ public class Crypto
{
try
{
byte[] rawKey = getRawKey(seed.getBytes());
byte[] result = encrypt(rawKey, cleartext.getBytes());
byte[] rawKey = getRawKey(seed.getBytes("UTF-8"));
byte[] result = encrypt(rawKey, cleartext.getBytes("UTF-8"));
return Base64.encodeBytes(result);
}
catch(Exception e)
@ -51,10 +51,10 @@ public class Crypto
{
try
{
byte[] rawKey = getRawKey(seed.getBytes());
byte[] rawKey = getRawKey(seed.getBytes("UTF-8"));
byte[] enc = Base64.decode(encrypted);
byte[] result = decrypt(rawKey, enc);
return new String(result);
return new String(result, "UTF-8");
}
catch(Exception e)
{
@ -97,7 +97,7 @@ public class Crypto
try
{
MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(s.getBytes());
digest.update(s.getBytes("UTF-8"));
byte messageDigest[] = digest.digest();
StringBuffer hexString = new StringBuffer();