Привет, я хочу шифровать строку, и эта работа хорошая, но когда я хочу использовать для utf_8 persian, это не работает. я использовать этот учебник:как utf-8 Encrypt/Decrypt в Android
http://www.androidsnippets.com/encrypt-decrypt-between-android-and-php.html
. и мой основной код вида деятельности является:
общественного класса MainActivity расширяет AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String value="سلام";
try {
MCrypt mcrypt = new MCrypt();
String encrypted = MCrypt.bytesToHex(mcrypt.encrypt(value));
Toast.makeText(this, ""+encrypted, Toast.LENGTH_SHORT).show();
String decrypted = new String(mcrypt.decrypt(encrypted));
Toast.makeText(this, ""+decrypted, Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
я прочитал этот пост How to Encrypt And decrypt UTF-8 in JAVA or Android?, но не поможет мне спасибо за ваш помогает парням
Если есть что-то более глупое, чем PHP + mcrypt, когда дело доходит до криптографии, то это фрагменты Android. Но вернемся к вопросу: можете ли вы проверить, соответствует ли результат 'mcrypt.decrypt (зашифрованный)' результат 'mcrypt.encrypt (value) 'в байтах? Должно быть что-то вроде Array.compare или вы можете сравнить массивы байтов, закодированные как hexadecimals. Обратите внимание, что использование CBC небезопасно, когда дело касается обмена клиент-сервер (т. Е. При использовании для безопасности транспорта). –
@MaartenBodewes Не думаете ли вы, что может быть немного неверно сказать, что CBC не безопасен для безопасности на транспорте? Конечно, без MAC он может быть изменен, но CBC ** может быть безопасным при правильном использовании с другими криптографическими системами. –
@ LukePark Я вижу только CBC здесь. Я не уверен в откровенных атаках оракула, но, конечно, без каких-либо дополнительных мер вы не должны ожидать целостности/аутентичности сообщений. Кроме того, статический IV (измените его!), Заполнение пробелами, что еще может пойти не так? –