我使用 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 - 使用 ksoap2 将加密密码从 android 传递到 Web 服务到 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20379268/