Advertisement
Guest User

Untitled

a guest
Nov 15th, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.08 KB | None | 0 0
  1. private void confirm_password() {
  2. Button confirm_button = (Button) findViewById(R.id.login_button);
  3. confirm_button.setOnClickListener(new View.OnClickListener() {
  4. @Override
  5. public void onClick(View v) {
  6. final EditText entered_password = (EditText) findViewById(R.id.pass_checker);
  7. given_password = entered_password.getText().toString();
  8.  
  9. Log.d("Podane haslo", given_password);
  10.  
  11.  
  12. String decode_pass_from_user = null;
  13. String decoded_pass_from_db = null;
  14.  
  15. //zashashować hasło podane przez użytkownika
  16. MessageDigest messageDigest = null;
  17. try {
  18. messageDigest = MessageDigest.getInstance("SHA-256");
  19. } catch (NoSuchAlgorithmException e) {
  20. e.printStackTrace();
  21. }
  22. assert messageDigest != null;
  23.  
  24. try {
  25. messageDigest.update(given_password.getBytes("UTF-8"));
  26. } catch (UnsupportedEncodingException e) {
  27. e.printStackTrace();
  28. }
  29. String hashed_pass_from_user = Base64.encodeToString(messageDigest.digest(), Base64.URL_SAFE);
  30.  
  31. hashed_pass_from_user = hashed_pass_from_user.substring(0,hashed_pass_from_user.length()-1);
  32.  
  33. Log.d("z podanego do #2", hashed_pass_from_user);
  34.  
  35. //zakodować i zdekodowac haslo od uzytkownika do porownania z baza
  36. //String hashed_pass_from_user = bytesToHex(messageDigest.digest());
  37. /* String hashed_pass_from_user = Base64.encodeToString(messageDigest.digest(), Base64.DEFAULT);
  38. byte[] data = Base64.decode(hashed_pass_from_user, Base64.DEFAULT);
  39. try {
  40. decode_pass_from_user = new String(data, "UTF-8");
  41. } catch (UnsupportedEncodingException e) {
  42. e.printStackTrace();
  43. }*/
  44.  
  45. // wydobyc haslo z bazy i zdekodowac
  46. String pass_from_db = null;
  47. try {
  48. pass_from_db = getHashFromDatabase();
  49. // byte[] data2 = Base64.decode(pass_from_db, Base64.DEFAULT);
  50. // decoded_pass_from_db = new String(data2, "UTF-8");
  51. Log.d("haslo zaciagniete z db", pass_from_db);
  52.  
  53. } catch (UnsupportedEncodingException e) {
  54. e.printStackTrace();
  55. }
  56.  
  57. // porównać zahashowane zdekodowane hasło od użytownika ze zdekodowanym hasłem z bazy
  58. assert pass_from_db != null;
  59. if (hashed_pass_from_user.matches(pass_from_db)) {
  60. showLoggedInActivity();
  61.  
  62. //aktualizuje haslo z bazy do kolejnego hasha
  63. //hashowanie
  64. MessageDigest md = null;
  65. try {
  66. md = MessageDigest.getInstance("SHA-256");
  67. } catch (NoSuchAlgorithmException e) {
  68. e.printStackTrace();
  69. }
  70. assert md != null;
  71.  
  72. try {
  73. md.update(pass_from_db.getBytes("UTF-8"));
  74. } catch (UnsupportedEncodingException e) {
  75. e.printStackTrace();
  76. }
  77.  
  78. String new_hashed_pass_to_save = Base64.encodeToString(md.digest(), Base64.DEFAULT);
  79.  
  80. //zapis do bazy
  81. saveHashToDatabase(new_hashed_pass_to_save);
  82. }
  83. else {
  84. context = getApplicationContext();
  85. CharSequence text = "Haslo jest nieprawidlowe!";
  86. int duration = Toast.LENGTH_SHORT;
  87. Toast toast = Toast.makeText(context, text, duration);
  88. toast.show();
  89.  
  90. showEnterPasswordActivity();
  91. }
  92. }
  93. });
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement