06-29-2012, 09:01 PM
td saya iseng2 bkin program buat login dgn salt+sha512...
mudah2-an bermanfaat bagi yg laen heheheehehehehehe
just for fun
edit: dgn penjelasan dan sedikit perubahan pd code
disarankan klo maw liad penjelasannya lebih jelas copy dl codenya ke gedit ato sejenisnya ...kalo liad langsung di bwh penjelasannya agak merusak mata ....heheehehhe
edit2:
wah ternyata yg sebelumnya masih bnyk kumbangna,,,akhirnya dgn bersusah payah kumbangnya mati jg
waduh karena codenya smpe ke ujung jadi bergeser2 sendiri codenya --__--"
ambil codenya di sni aj
..di bawah bergeser codenya jadi klo copas dr bwh error
byeeeeeeee
mudah2-an bermanfaat bagi yg laen heheheehehehehehe
just for fun
edit: dgn penjelasan dan sedikit perubahan pd code
disarankan klo maw liad penjelasannya lebih jelas copy dl codenya ke gedit ato sejenisnya ...kalo liad langsung di bwh penjelasannya agak merusak mata ....heheehehhe
edit2:
wah ternyata yg sebelumnya masih bnyk kumbangna,,,akhirnya dgn bersusah payah kumbangnya mati jg
waduh karena codenya smpe ke ujung jadi bergeser2 sendiri codenya --__--"
ambil codenya di sni aj
Code:
http://pastebin.com/CyxjvPXZ
..di bawah bergeser codenya jadi klo copas dr bwh error
Code:
import sys,string,hashlib,random
#buat generate random string dgn output salt|hash
def salt_hashh(x):
s=string.ascii_letters+string.digits+string.punctuation #string yg maw di generate
salt="".join([random.choice(s) for i in xrange(random.randint(10,20))])#utk melakukan generate pada string di atas yg menghasilkan random salt
h=hashlib.sha512(salt+x).hexdigest() # utk pemprosesan hashing yg di gabungkan dgn salt
return salt+"|"+h
#utk pengecekan password yg udah di salt
def salt_check(a,b):
salth=[]
ha=''
for i in range(len([salth.append(x[1].split("|")) for x in b])):
ha=hashlib.sha512(salth[i][0]+a).hexdigest()
if ha in salth[i][1]:
ha=salth[i][0]+"|"+ha
print ha
break
return ha
print'''
TESTING CODE
please choose what u want to do
1)create new account
2)login
3)user list
4)exit
'''
userlist=[] # tempat menampung user list(database user)
while True: # perulangan buat pemilihan
choose=raw_input("you choose : ").strip()#utk penginputan pemilihan bila...strip() utk menghilangkan spasi di akhir kalimat(kata)
if choose=="1":
print "Create New Account"
name=raw_input('Username:').rstrip()
pswd=raw_input('Password:').rstrip()
userlist.append((name,salt_hashh(pswd)))# fungsinya utk memasukkan user dan passwrd baru ke dalam userlist
print "succes to create account"
elif choose=="2":
print "Login"
ln=raw_input("Username:").rstrip()
lp=raw_input("Password:").rstrip()
if (ln,salt_check(lp,userlist)) in userlist: #utk pengecekan username dan passwrd ....bila sama login sukses
print "log in sucess"
else: # jika berbeda maka perintah di bwhnya yg akan dieksekusi
print "error we don't know u"
elif choose=="3":
for i in userlist: # utk membaca yg user list
print i
elif choose=="4":
print "BYEEEE"
sys.exit(0)
else:
print "we don't have that command"
byeeeeeeee