关于在MySQL中使用md5()内置函数哈希的问题

时间:2018-08-02 12:57:40

标签: mysql hash passwords md5

我有一个程序,用户在两个字段中分别输入他们的public class WebViewActivity extends AppCompatActivity { private WebView mywebView; private ProgressBar myprogressBar; private static final String TAG = "WebViewActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_web_view); myprogressBar = findViewById(R.id.myProgressBar); myprogressBar.setVisibility(View.GONE); mywebView = findViewById(R.id.myWebView); mywebView.getSettings().setLoadsImagesAutomatically(true); mywebView.getSettings().setJavaScriptEnabled(true); mywebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); mywebView.setWebViewClient(new MyBrowser()); mywebView.loadUrl("https://stackoverflow.com/"); } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); mywebView.saveState(outState); } @Override protected void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); mywebView.restoreState(savedInstanceState); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); } private class MyBrowser extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.d(TAG, "shouldOverrideUrlLoading: loading "); myprogressBar.setVisibility(View.VISIBLE); view.loadUrl(url); return true; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { Log.d(TAG, "onPageStarted: started"); myprogressBar.setVisibility(View.VISIBLE); /* here you have to include the your keywords instead of tags [hardcoded string] */ if (url.contains("tags")) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } else { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } super.onPageStarted(view, url, favicon); } @Override public void onPageFinished(WebView view, String url) { myprogressBar.setVisibility(View.GONE); Log.d(TAG, "onPageFinished: finished"); super.onPageFinished(view, url); } } } username。我将每个密码分别作为md5哈希存储在MySQL表的两行中(尽管我知道不是很安全)。我执行以下操作,而不是在用户输入密码时对密码进行哈希处理,然后将其与数据库进行比较:

password

我想问的是,在到达服务器并执行查询之前,可以通过网络 以纯文本形式显示密码吗? 发生了?(我不太了解这个概念)

1 个答案:

答案 0 :(得分:0)

为了安全起见,您必须对密码哈希值加盐处理,然后此问题将自行解决,因为数据库无法进行哈希处理。

相反,您需要使用开发语言(例如PHP的password_hash())调用密码哈希函数,然后将哈希值插入数据库中。