Hi I want to decrypting my php encrypted string. My code is
UsingPHP.java
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.util.Base64;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class UsingPHP extends Activity {
TextView encrypt_txt1, encrypt_txt2, decrypt_txt1, decrypt_txt2;
Button decrypt_but;
String original_value = "";
String encrypted_value = "";
byte[] byteArray1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.decrypt);
encrypt_txt1 = (TextView) findViewById(R.id.entv1);
encrypt_txt2 = (TextView) findViewById(R.id.entv2);
decrypt_txt1 = (TextView) findViewById(R.id.decrytv1);
decrypt_txt2 = (TextView) findViewById(R.id.decrytv2);
decrypt_but = (Button) findViewById(R.id.decrybt);
decrypt_but.setOnClickListener(new View.OnClickListener() {@Override
public void onClick(View v) {
try {
ArrayList < NameValuePair > postParameters = new ArrayList < NameValuePair > ();
String response = null;
response = CustomHttpClient.executeHttpPost(
"http://10.0.2.2/cyrpt/encrypt.php",
postParameters);
String res = response.toString();
System.out.println("HTTP Response comes here.......");
System.out.println(res);
JSONArray jArray = new JSONArray(res);
System.out.println("JSON Array created.....");
JSONObject json_data = null;
System.out.println("JSON data created......");
for (int i = 0; i < jArray.length(); i++) {
System.out.println("values fetched from the database.....");
json_data = jArray.getJSONObject(i);
original_value = json_data.getString("value");
encrypted_value = json_data.getString("encryptedvalue");
encrypt_txt2.setText(encrypted_value);
System.out.println(original_value);
System.out.println(encrypted_value);
}
System.out.println("Decrypt button has been clicked");
System.out.println("My encryption string is--->" + encrypted_value);
int encrypt_len = encrypted_value.length();
System.out.println(encrypt_len);
try {
System.out.println("Encrypted values going to decrrypted......");
byteArray1 = Base64.decode(encrypted_value, encrypt_len);
String decrypt = new String(byteArray1, "UTF-8");
System.out.println("Values decrypted-->" + decrypt);
decrypt_txt2.setText(decrypt);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
encrypt.php
<?php
require_once("connection.php");
$value = 'malavika';
function encode5t($value1)
{
for ($i = 0; $i < 3; $i++) {
$value1 = strrev(base64_encode($value1));
}
return $value1;
}
$myvalue = encode5t($value);
$mydata = mysql_query("SELECT * FROM crypt");
while ($row = mysql_fetch_assoc($mydata))
$sam = $row['value'];
if ($sam != 'malavika')
$myinsert = mysql_query("insert into crypt values('" . $value . "','" . $myvalue . "')") or die(mysql_error());
$data = mysql_query("SELECT * FROM crypt");
while ($row = mysql_fetch_assoc($data))
$output[] = $row;
print(json_encode($output));
?>
Now I want to decrypt my encrypted value in android. But I got this following warning:
12-23 10:27:19.343: WARN/System.err(609): java.lang.IllegalArgumentException: bad base-64
12-23 10:27:19.353: WARN/System.err(609): at android.util.Base64.decode(Base64.java:161)
12-23 10:27:19.353: WARN/System.err(609): at android.util.Base64.decode(Base64.java:136)
12-23 10:27:19.363: WARN/System.err(609): at android.util.Base64.decode(Base64.java:118)
12-23 10:27:19.363: WARN/System.err(609): at com.my.databaseconnection.UsingPHP$1.onClick(UsingPHP.java:76)
12-23 10:27:19.363: WARN/System.err(609): at android.view.View.performClick(View.java:2485)
12-23 10:27:19.363: WARN/System.err(609): at android.view.View$PerformClick.run(View.java:9080)
12-23 10:27:19.363: WARN/System.err(609): at android.os.Handler.handleCallback(Handler.java:587)
12-23 10:27:19.373: WARN/System.err(609): at android.os.Handler.dispatchMessage(Handler.java:92)
12-23 10:27:19.373: WARN/System.err(609): at android.os.Looper.loop(Looper.java:123)
12-23 10:27:19.373: WARN/System.err(609): at android.app.ActivityThread.main(ActivityThread.java:3647)
12-23 10:27:19.383: WARN/System.err(609): at java.lang.reflect.Method.invokeNative(Native Method)
12-23 10:27:19.383: WARN/System.err(609): at java.lang.reflect.Method.invoke(Method.java:507)
12-23 10:27:19.383: WARN/System.err(609): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
12-23 10:27:19.383: WARN/System.err(609): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12-23 10:27:19.393: WARN/System.err(609): at dalvik.system.NativeStart.main(Native Method)
How can I do this? Is it possible? Can anybody tell me? Thanks in advance
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…