目前有这么一个小的功能,就是Android端采用JS中的MD5进行加密,具体要求是Android端向JS方法里面传递一个值(密码明文),然后调用JS中的方法加密后然后把密文回调给Android端
在这里html页面采用的本地加载,首先我们要写一个本地的html页面,然后再添加一些我们的java实体类代码进行回调,类似于herbinate的作用。
下面是我写的html的代码:
<html >
<head>
<meta charset="UTF-8">
<title>Title</title>
<h1>android js md5 加密</h1>
<script src="file:///android_asset/jquery.min.js"></script>
<script type="text/javascript" src="file:///android_asset/md5.js"></script>
<script type="text/javascript">
function ok(pass)
{
var psd=$.md5(pass);
android.toastMessage(psd);
}
</script>
</head>
<body>
<button value="点击" onclick="ok('')"></button>
</body>
</html>
然后我们在Android端的具体内容如下:
{
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("file:///android_asset/test.html");
webView.addJavascriptInterface(new MyJsMd5(), "android");
webView.loadUrl("javascript:ok('"+mpassword+"')");
class MyJsMd5{
@JavascriptInterface
public void toastMessage(String message) {
Log.i("TAG" , "传递过来的值是: "+message);
}
}
通过这样,我们就可以对JS方法里面传值,然后通过我们的Class类,把结果返回过来