【发布时间】:2013-12-04 15:26:03
【问题描述】:
我正在使用 skoap2 将用户名和密码从 android 应用程序发送到 Web 服务,Web 服务连接到 MySQL 数据库。它与密码作为文本完美配合,但如果我发送加密密码,我在创建 SoapEnvelope 时遇到了非法字符异常。我想我知道问题是什么,但我不知道如何解决它。我应该以什么形式(现在是字符串)传递加密密码以及如何将其存储在数据库中? (varchar 会导致同样的错误)吗?
String password = ((TextView)findViewById(R.id.passwordr1)).getText().toString();
MessageDigest messageDigest = MessageDigest.getInstance("SHA-256"); //$NON-NLS-1$
messageDigest.update(password.getBytes());
String encryptedPassword = new String(messageDigest.digest());
后面的代码
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
...
PropertyInfo passwordProp =new PropertyInfo();
passwordProp.setName("password");
passwordProp.setValue(params[1]);
passwordProp.setType(String.class);
request.addProperty(passwordProp);
...
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE ht = new HttpTransportSE(URL);
ht.call(SOAP_ACTION, envelope);
String response = (SoapPrimitive)envelope.getResponse().toString();
【问题讨论】:
标签: android mysql database encryption android-ksoap2