Doğrudur hocam bu şekilde test ettiğimde doğru sonucu verdi.

Teşekkürler.
On 03/08/2013 03:22 PM, Özcan ESEN wrote:
Merhabalar, basitçe açıklamaya çalışayım
m.update('a')
m.hexdigest()
m.update('a')
m.hexdigest()
şeklinde kullandığınızda ilk seferinde md5('a') ikinci seferinde md5('aa') çıktısı almış oluyorsunuz, update fonksiyonu sona ekleyerek çalışıyor çok büyük miktardaki verilerin parça parça yüklenebilmesi için, bunun yerine her üreteceğiniz md5 için 'hashlib.md5(line).hexdigest()' şeklinde ayrı bir nesne oluşturursanız bu sorunu yaşamazsınız.

Kolay gelsin

2013/3/8 Kayhan KAYIHAN <[email protected] <mailto:[email protected]>>

    Herkeze selam,

    python ile ilgili bir sorun yasıyorum, tecrübesi olan birisi benimle
    paylasaşabilir diye düşünüyorum.
    123456 değerini elle vererek md5 li değerini ekrana yazdırdığım da
    doğru
    değeri alabiliyorum.

    password.txt içerisine 123456 yazıyorum, bunu python ile okuyarak
    md5 ni
    alıyorum, karakter sayısı v.s. kontrol ettiriyorum 6 adet karakter
    var,
    ekrana bastırıyorum değer 123456 ancak md5 li çıktısı 123456 nın
    md5 li
    çıktısı değil.

    Bunun nedeni ile ilgili bilgisi olan birisi var mı?

    Kolay gelsin.

    password = open('password.txt', 'r+')
    passlist=password.readlines()
    for y in passlist:
    y=123456
    m = hashlib.md5()    #m değişkeni
    m.update('123456')    #m değişkenine 123456 değerini atıyorum
    print m.hexdigest()    # m değişkenini ekrana basıyorum

    #Burada sorun yok 123456 değerinin md5 karşılığını ekrana basıyor.

    m.update(str(y))    #m değişkenine y dene gelen datayı atıyor, y ile
    gelen data dosya dan okuduğu 123456 değeri
    print m.hexdigest() #m i ekrana basıyorum, 123456 nın md5 karşılıgı
    değil, değişken içeriğinde \n değeri geliyor.
    count=len(y.rstrip())    #dosyadan okunana değerin karakter sayısına
    bakıyorum 6
    print count            #karakter sayısını ekrana basıyorum.
    print y.rstrip()     #değişkenin içindeki değeri ekrana basıyorum,
    123456
    m.update(y.rstrip()) #m değişkenine içinde \n değeri olmayana karakter
    sayı 6 olan 123456 değerini atıyorum
    print m.hexdigest()    # md5 değerini print ediyorum ancak ekrana
    bastıgı değer ile 123456 nın md5 i aynı değil, kısaca dosyadan okuduğu
    123456 değeri ile elle verilen 123456 değerinin md5 li çıktısı
    arasında
    fark var, bu fark neden kaynklanıyor?

    _______________________________________________
    Linux-programlama mailing list
    [email protected]
    <mailto:[email protected]>
    https://liste.linux.org.tr/mailman/listinfo/linux-programlama
    Liste kurallari: http://liste.linux.org.tr/kurallar.php




_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap