Soru & Cevap

şifre için md5 şifreleme yöntemi kullanma

11.04.2016 - 02:00

androidde bir kayıt ekranım var  bu ekranda veri tabanına kayıt ettiğim şifreyi md5 şifreleme yöntemi ile şifrelemek istiyorum bunu nasıl sağlayabilirim.

359 Görüntülenme

3 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user emineAktürk
emineAktürk
11.04.2016 - 05:49

Peki burdaki kodlara nasıl ekleyebilirim bu kod parçasını.

ublic class MainActivity extends AppCompatActivity {
    Button kayt;
    EditText isim, soyisim, sifre, tkr_sifre, email, htr_soru;
    private Veritabani v1;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        v1 = new Veritabani(this);
        kayt = (Button) findViewById(R.id.button);
        isim = (EditText) findViewById(R.id.editText);
        soyisim = (EditText) findViewById(R.id.editText2);
        email = (EditText) findViewById(R.id.editText3);
        sifre = (EditText) findViewById(R.id.editText4);
        tkr_sifre = (EditText) findViewById(R.id.editText5);
        htr_soru = (EditText) findViewById(R.id.editText6);
        kayt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ekleme(isim.getText().toString(), soyisim.getText().toString(), email.getText().toString(), sifre.getText().toString(),
                        tkr_sifre.getText().toString(), htr_soru.getText().toString());
                Toast.makeText(getApplicationContext(), "KAYIT YAPILDI!", Toast.LENGTH_LONG).show();
                Intent i = new Intent(getApplicationContext(), Main2Activity.class);
                startActivity(i);    
            }
        });
    }
    private void ekleme (String isim, String soyisim,String email,String sifre,String tkr_sifre,String htr_soru){
        SQLiteDatabase db=v1.getWritableDatabase();
        ContentValues cv1=new ContentValues();
        cv1.put("isim",isim);
        cv1.put("soyisim",soyisim);
        cv1.put("email",email);
        cv1.put("sifre",sifre);
        cv1.put("tkr_sifre",tkr_sifre);
        cv1.put("htr_soru", htr_soru);
        db.insertOrThrow("kayit", null, cv1);

 

picture-58288-1459256439.jpg
Drve
11.04.2016 - 05:12

Aşağıdaki kod parçalarını da dener misin? Tabi MD5 olarak kaydetmek ve  veritabanından aynı şekilde okutmat için MD5 eşleşmesi ile sorgulama yaptırman gerekli.

private static char[] hextable = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };

public static String byteArrayToHex(byte[] array) {
    String s = "";
    for (int i = 0; i < array.length; ++i) {
        int di = (array[i] + 256) & 0xFF; // Make it unsigned
        s = s + hextable[(di >> 4) & 0xF] + hextable[di & 0xF];
    }
    return s;
}

public static String digest(String s, String algorithm) {
    MessageDigest m = null;
    try {
        m = MessageDigest.getInstance(algorithm);
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
        return s;
    }

    m.update(s.getBytes(), 0, s.length());
    return byteArrayToHex(m.digest());
}

public static String md5(String s) {
    return digest(s, "MD5");
}

 

Profile picture for user burak.1987
burak.1987
11.04.2016 - 02:29

Bunu denedinmi hiç;

 

public String md5(String data) {
    try {
      
        MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
        digest.update(data.getBytes());
        byte messageDigest[] = digest.digest();

       
        StringBuffer hexString = new StringBuffer();
        for (int i=0; i<messageDigest.length; i++)
            hexString.append(Integer.toHexString(0xFF & messageDigest[i]));
        return hexString.toString();

    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    }
    return "";
}