Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void confirm_password() {
- Button confirm_button = (Button) findViewById(R.id.login_button);
- confirm_button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- final EditText entered_password = (EditText) findViewById(R.id.pass_checker);
- given_password = entered_password.getText().toString();
- Log.d("Podane haslo", given_password);
- String decode_pass_from_user = null;
- String decoded_pass_from_db = null;
- //zashashować hasło podane przez użytkownika
- MessageDigest messageDigest = null;
- try {
- messageDigest = MessageDigest.getInstance("SHA-256");
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- assert messageDigest != null;
- try {
- messageDigest.update(given_password.getBytes("UTF-8"));
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- String hashed_pass_from_user = Base64.encodeToString(messageDigest.digest(), Base64.URL_SAFE);
- hashed_pass_from_user = hashed_pass_from_user.substring(0,hashed_pass_from_user.length()-1);
- Log.d("z podanego do #2", hashed_pass_from_user);
- //zakodować i zdekodowac haslo od uzytkownika do porownania z baza
- //String hashed_pass_from_user = bytesToHex(messageDigest.digest());
- /* String hashed_pass_from_user = Base64.encodeToString(messageDigest.digest(), Base64.DEFAULT);
- byte[] data = Base64.decode(hashed_pass_from_user, Base64.DEFAULT);
- try {
- decode_pass_from_user = new String(data, "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }*/
- // wydobyc haslo z bazy i zdekodowac
- String pass_from_db = null;
- try {
- pass_from_db = getHashFromDatabase();
- // byte[] data2 = Base64.decode(pass_from_db, Base64.DEFAULT);
- // decoded_pass_from_db = new String(data2, "UTF-8");
- Log.d("haslo zaciagniete z db", pass_from_db);
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- // porównać zahashowane zdekodowane hasło od użytownika ze zdekodowanym hasłem z bazy
- assert pass_from_db != null;
- if (hashed_pass_from_user.matches(pass_from_db)) {
- showLoggedInActivity();
- //aktualizuje haslo z bazy do kolejnego hasha
- //hashowanie
- MessageDigest md = null;
- try {
- md = MessageDigest.getInstance("SHA-256");
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- assert md != null;
- try {
- md.update(pass_from_db.getBytes("UTF-8"));
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- String new_hashed_pass_to_save = Base64.encodeToString(md.digest(), Base64.DEFAULT);
- //zapis do bazy
- saveHashToDatabase(new_hashed_pass_to_save);
- }
- else {
- context = getApplicationContext();
- CharSequence text = "Haslo jest nieprawidlowe!";
- int duration = Toast.LENGTH_SHORT;
- Toast toast = Toast.makeText(context, text, duration);
- toast.show();
- showEnterPasswordActivity();
- }
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement