annotate frontend/mfrontend/utils.py @ 3:79fc37fe85a6

Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
author michalr
date Tue, 22 Feb 2011 19:25:10 +0000
parents e0061735c327
children 79cf8ca2a0e5
rev   line source
1
michalr
parents:
diff changeset
1 #!/usr/bin/python
michalr
parents:
diff changeset
2 # -*- coding: utf-8 -*-
michalr
parents:
diff changeset
3
3
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
4 import random, string, hashlib
2
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
5 from ConfigParser import SafeConfigParser
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
6
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
7 def randomString(n):
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
8 """Funkcja generująca losowy łańcuch znaków, np. do haseł czy Secret Key.
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
9 @param n Ilość znaków do wygenerowania.
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
10 @return Losowo wygenerowany łańcuch znaków.
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
11 """
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
12 wynik = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(n))
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
13 return wynik
1
michalr
parents:
diff changeset
14
michalr
parents:
diff changeset
15 def default_ini():
michalr
parents:
diff changeset
16 """Funkcja tworząca domyślny plik .ini z ustawieniami aplikacji"""
2
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
17 config = SafeConfigParser()
1
michalr
parents:
diff changeset
18 config.add_section('Basic')
3
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
19 config.set('Basic', 'Database', 'baza.sqlite')
1
michalr
parents:
diff changeset
20 config.set('Basic', 'Debug', '0')
2
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
21 config.set('Basic', 'Secret_Key', randomString(10))
3
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
22 config.set('Basic', 'HashCrypto', 'sha512')
1
michalr
parents:
diff changeset
23 with open('config.ini', 'wb') as configfile:
michalr
parents:
diff changeset
24 config.write(configfile)
michalr
parents:
diff changeset
25
3
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
26 def hashPassword(password):
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
27 """Funkcja hashuje hasła."""
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
28 config = SafeConfigParser()
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
29 config.read('config.ini')
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
30 m = hashlib.new(config.get('Basic', 'HashCrypto'))
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
31 m.update(config.get('Basic', 'Secret_Key'))
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
32 m.update(password)
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
33 return m.hexdigest()
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
34