X-FTP
[x93.git/.git] / xftp.git / ext / crud.py
1 import sqlite3\r
2 import random\r
3 \r
4 \r
5 \r
6 def connect(name):\r
7         """\r
8         _________________________________________\r
9         Crea una conexion a una database indicada\r
10         _________________________________________\r
11         """\r
12         global database,db_cursor\r
13         database=sqlite3.connect(name)\r
14         db_cursor=database.cursor()\r
15 \r
16 def runcode(args):\r
17         """\r
18         ______________________\r
19         Ejecuta codigo sqlite3\r
20         ______________________\r
21         """\r
22         db_cursor.execute(args)\r
23 \r
24 def create(args1,args2):\r
25         """\r
26         _________________________\r
27         CRUD\r
28         ^\r
29         CREATE = CREA un registro\r
30         _________________________\r
31         """\r
32         db_cursor.execute("INSERT INTO "+args1+" VALUES("+args2+")")\r
33 \r
34 def read(args1,*args2):\r
35         """\r
36         ______________________\r
37         CRUD\r
38          ^\r
39         READ = LEE un registro\r
40         ______________________\r
41         """\r
42         try:\r
43                 data=db_cursor.execute("SELECT * FROM "+str(args1)+" WHERE "+str(args2[0])+"="+str(args2[1]))\r
44         except:\r
45                 data=db_cursor.execute("SELECT * FROM "+str(args1))\r
46         return data.fetchall()\r
47 \r
48 def update(args1,*args2):\r
49         """\r
50         ______________________________\r
51         CRUD\r
52           ^\r
53         UPDATE = ACTUALIZA un registro\r
54         ______________________________\r
55         """\r
56         db_cursor.execute("UPDATE "+str(args1)+" SET "+str(args2[0])+" = "+str(args2[1])+" where "+str(args2[2])+" = "+str(args2[3])+"")\r
57 \r
58 def delete(args1,args2,args3):\r
59         """\r
60         ____________________________\r
61         CRUD\r
62            ^\r
63         DELETE = ELIMINA un registro\r
64         ____________________________\r
65         """\r
66         db_cursor.execute("DELETE FROM "+args1+" WHERE "+args2+"="+args3)\r
67 \r
68 def save():\r
69         """\r
70         _____________________\r
71         Guarda los cambios\r
72         hechos en la database\r
73         _____________________\r
74         """\r
75         database.commit()\r
76 \r
77 def close():\r
78         """\r
79         __________________\r
80         Cierra la conexión\r
81         __________________\r
82         """\r
83         database.close()\r
84 def crud_doc():\r
85         print("connect"+connect.__doc__)\r
86         print("runcode"+runcode.__doc__)\r
87         print("create"+create.__doc__)\r
88         print("read"+read.__doc__)\r
89         print("update"+update.__doc__)\r
90         print("delete"+delete.__doc__)\r
91         print("save"+save.__doc__)\r
92         print("close"+close.__doc__)\r
93 \r
94 \r
95 import base64\r
96 contador=0\r
97 contador1=0\r
98 \r
99 def encode(texto):\r
100         text=texto.encode("UTF-8")\r
101         code=base64.b64encode(text).decode("UTF-8")\r
102         return code\r
103 \r
104 def decode(texto):\r
105         text=texto\r
106         code=base64.b64decode(text)\r
107         return code.decode("UTF-8")\r
108 \r
109 def encode_list(list2encode,encode2list):\r
110         global contador\r
111         for i in range(0,len(list2encode)):\r
112                 encode2list.append(encode(list2encode[contador]))\r
113                 contador=contador+1\r
114         del(i)\r
115 \r
116 def decode_list(list2decode):\r
117         global contador1\r
118         decode2list=[]\r
119         for i in range(0,len(list2decode)):\r
120                 decode2list.append(decode(list2decode[contador1]))\r
121                 contador1=contador1+1\r
122         del(i)\r
123         return decode2list\r
124 \r
125 \r
126 \r
127 alphabet={\r
128 1:"a",\r
129 2:"b",\r
130 3:"c",\r
131 4:"d",\r
132 5:"e",\r
133 6:"f",\r
134 7:"g",\r
135 8:"h",\r
136 9:"i",\r
137 10:"j",\r
138 11:"k",\r
139 12:"l",\r
140 13:"m",\r
141 14:"n",\r
142 15:"ñ",\r
143 16:"o",\r
144 17:"p",\r
145 18:"q",\r
146 19:"r",\r
147 20:"s",\r
148 21:"t",\r
149 22:"u",\r
150 23:"v",\r
151 24:"w",\r
152 25:"x",\r
153 26:"y",\r
154 27:"z",\r
155 28:"1",\r
156 29:"2",\r
157 30:"3",\r
158 31:"4",\r
159 32:"5",\r
160 33:"6",\r
161 34:"7",\r
162 35:"8",\r
163 36:"9",\r
164 37:"0",\r
165 38:"=",\r
166 39:".",\r
167 40:"?",\r
168 41:",",\r
169 42:";",\r
170 43:"_",\r
171 44:"°",\r
172 45:"!",\r
173 46:"&",\r
174 47:"#",\r
175 48:"$",\r
176 49:"/",\r
177 50:"|",\r
178 51:"A",\r
179 52:"B",\r
180 53:"C",\r
181 54:"D",\r
182 55:"E",\r
183 56:"F",\r
184 57:"G",\r
185 58:"H",\r
186 59:"I",\r
187 60:"J",\r
188 61:"K",\r
189 62:"L",\r
190 63:"M",\r
191 64:"N",\r
192 65:"Ñ",\r
193 66:"O",\r
194 67:"P",\r
195 68:"Q",\r
196 69:"R",\r
197 70:"S",\r
198 71:"T",\r
199 72:"U",\r
200 73:"V",\r
201 74:"W",\r
202 75:"X",\r
203 76:"Y",\r
204 77:"Z",\r
205 78:'¿',\r
206 79:' '}\r
207 \r
208 alphabet_inversed={\r
209 'a':1,\r
210 'b':2,\r
211 'c':3,\r
212 'd':4,\r
213 'e':5,\r
214 'f':6,\r
215 'g':7,\r
216 'h':8,\r
217 'i':9,\r
218 'j':10,\r
219 'k':11,\r
220 'l':12,\r
221 'm':13,\r
222 'n':14,\r
223 'ñ':15,\r
224 'o':16,\r
225 'p':17,\r
226 'q':18,\r
227 'r':19,\r
228 's':20,\r
229 't':21,\r
230 'u':22,\r
231 'v':23,\r
232 'w':24,\r
233 'x':25,\r
234 'y':26,\r
235 'z':27,\r
236 '1':28,\r
237 '2':29,\r
238 '3':30,\r
239 '4':31,\r
240 '5':32,\r
241 '6':33,\r
242 '7':34,\r
243 '8':35,\r
244 '9':36,\r
245 '0':37,\r
246 '=':38,\r
247 '.':39,\r
248 '?':40,\r
249 ',':41,\r
250 ';':42,\r
251 '_':43,\r
252 '°':44,\r
253 '!':45,\r
254 '&':46,\r
255 '#':47,\r
256 '$':48,\r
257 '/':49,\r
258 '|':50,\r
259 'A':51,\r
260 'B':52,\r
261 'C':53,\r
262 'D':54,\r
263 'E':55,\r
264 'F':56,\r
265 'G':57,\r
266 'H':58,\r
267 'I':59,\r
268 'J':60,\r
269 'K':61,\r
270 'L':62,\r
271 'M':63,\r
272 'N':64,\r
273 'Ñ':65,\r
274 'O':66,\r
275 'P':67,\r
276 'Q':68,\r
277 'R':69,\r
278 'S':70,\r
279 'T':71,\r
280 'U':72,\r
281 'V':73,\r
282 'W':74,\r
283 'X':75,\r
284 'Y':76,\r
285 'Z':77,\r
286 '¿':78,\r
287 ' ':79}\r
288 \r
289 \r
290 passw=""\r
291 \r
292 def password(len):\r
293         global passw\r
294         passw=""\r
295         pass_alt=["",0]\r
296         for i in range(0,5):\r
297                 for i in range(0,len):\r
298                         passw=passw+alphabet[random.randint(1,77)]\r
299                 check_password_potential(passw)\r
300                 if count_pot>=pass_alt[1]:\r
301                         pass_alt=[passw,count_pot]\r
302                         passw=""\r
303                 else:\r
304                         passw=""\r
305         passw=pass_alt[0]\r
306                         \r
307         del(i)\r
308         return passw\r
309 \r
310 \r
311 count_pot=0\r
312 count=0\r
313 cali=""\r
314 def check_password_potential(password):\r
315         global count_pot,count,pass_2,cali\r
316         count_pot=0\r
317         count=0\r
318         while True:\r
319                 if count==len(password):\r
320                         break\r
321                 if "a" in password[count]:\r
322                         count_pot=count_pot+0.1\r
323                 if "b" in password[count]:\r
324                         count_pot=count_pot+0.1\r
325                 if "c" in password[count]:\r
326                         count_pot=count_pot+0.1\r
327                 if "d" in password[count]:\r
328                         count_pot=count_pot+0.1\r
329                 if "e" in password[count]:\r
330                         count_pot=count_pot+0.1\r
331                 if "f" in password[count]:\r
332                         count_pot=count_pot+0.1\r
333                 if "g" in password[count]:\r
334                         count_pot=count_pot+0.1\r
335                 if "h" in password[count]:\r
336                         count_pot=count_pot+0.1\r
337                 if "i" in password[count]:\r
338                         count_pot=count_pot+0.1\r
339                 if "j" in password[count]:\r
340                         count_pot=count_pot+0.1\r
341                 if "k" in password[count]:\r
342                         count_pot=count_pot+0.1\r
343                 if "l" in password[count]:\r
344                         count_pot=count_pot+0.1\r
345                 if "m" in password[count]:\r
346                         count_pot=count_pot+0.1\r
347                 if "n" in password[count]:\r
348                         count_pot=count_pot+0.1\r
349                 if "ñ" in password[count]:\r
350                         count_pot=count_pot+0.1\r
351                 if "o" in password[count]:\r
352                         count_pot=count_pot+0.1\r
353                 if "p" in password[count]:\r
354                         count_pot=count_pot+0.1\r
355                 if "q" in password[count]:\r
356                         count_pot=count_pot+0.1\r
357                 if "r" in password[count]:\r
358                         count_pot=count_pot+0.1\r
359                 if "s" in password[count]:\r
360                         count_pot=count_pot+0.1\r
361                 if "t" in password[count]:\r
362                         count_pot=count_pot+0.1\r
363                 if "u" in password[count]:\r
364                         count_pot=count_pot+0.1\r
365                 if "v" in password[count]:\r
366                         count_pot=count_pot+0.1\r
367                 if "w" in password[count]:\r
368                         count_pot=count_pot+0.1\r
369                 if "x" in password[count]:\r
370                         count_pot=count_pot+0.1\r
371                 if "y" in password[count]:\r
372                         count_pot=count_pot+0.1\r
373                 if "z" in password[count]:\r
374                         count_pot=count_pot+0.1\r
375                 if "." in password[count]:\r
376                         count_pot=count_pot+1\r
377                 if "A" in password[count]:\r
378                         count_pot=count_pot+0.4\r
379                 if "B" in password[count]:\r
380                         count_pot=count_pot+0.4\r
381                 if "C" in password[count]:\r
382                         count_pot=count_pot+0.4\r
383                 if "D" in password[count]:\r
384                         count_pot=count_pot+0.4\r
385                 if "E" in password[count]:\r
386                         count_pot=count_pot+0.4\r
387                 if "F" in password[count]:\r
388                         count_pot=count_pot+0.4\r
389                 if "G" in password[count]:\r
390                         count_pot=count_pot+0.4\r
391                 if "H" in password[count]:\r
392                         count_pot=count_pot+0.4\r
393                 if "I" in password[count]:\r
394                         count_pot=count_pot+0.4\r
395                 if "J" in password[count]:\r
396                         count_pot=count_pot+0.4\r
397                 if "K" in password[count]:\r
398                         count_pot=count_pot+0.4\r
399                 if "L" in password[count]:\r
400                         count_pot=count_pot+0.4\r
401                 if "M" in password[count]:\r
402                         count_pot=count_pot+0.4\r
403                 if "N" in password[count]:\r
404                         count_pot=count_pot+0.4\r
405                 if "Ñ" in password[count]:\r
406                         count_pot=count_pot+0.4\r
407                 if "O" in password[count]:\r
408                         count_pot=count_pot+0.4\r
409                 if "P" in password[count]:\r
410                         count_pot=count_pot+0.4\r
411                 if "Q" in password[count]:\r
412                         count_pot=count_pot+0.4\r
413                 if "R" in password[count]:\r
414                         count_pot=count_pot+0.4\r
415                 if "S" in password[count]:\r
416                         count_pot=count_pot+0.4\r
417                 if "T" in password[count]:\r
418                         count_pot=count_pot+0.4\r
419                 if "U" in password[count]:\r
420                         count_pot=count_pot+0.4\r
421                 if "V" in password[count]:\r
422                         count_pot=count_pot+0.4\r
423                 if "W" in password[count]:\r
424                         count_pot=count_pot+0.4\r
425                 if "X" in password[count]:\r
426                         count_pot=count_pot+0.4\r
427                 if "Y" in password[count]:\r
428                         count_pot=count_pot+0.4\r
429                 if "Z" in password[count]:\r
430                         count_pot=count_pot+0.4\r
431                 if "0" in password[count]:\r
432                         count_pot=count_pot+0.7\r
433                 if "1" in password[count]:\r
434                         count_pot=count_pot+0.7\r
435                 if "2" in password[count]:\r
436                         count_pot=count_pot+0.7\r
437                 if "3" in password[count]:\r
438                         count_pot=count_pot+0.7\r
439                 if "4" in password[count]:\r
440                         count_pot=count_pot+0.7\r
441                 if "5" in password[count]:\r
442                         count_pot=count_pot+0.7\r
443                 if "6" in password[count]:\r
444                         count_pot=count_pot+0.7\r
445                 if "7" in password[count]:\r
446                         count_pot=count_pot+0.7\r
447                 if "8" in password[count]:\r
448                         count_pot=count_pot+0.7\r
449                 if "9" in password[count]:\r
450                         count_pot=count_pot+0.7\r
451                 if "." in password[count]:\r
452                         count_pot=count_pot+1\r
453                 if "!" in password[count]:\r
454                         count_pot=count_pot+1\r
455                 if "#" in password[count]:\r
456                         count_pot=count_pot+1\r
457                 if "$" in password[count]:\r
458                         count_pot=count_pot+1\r
459                 if "%" in password[count]:\r
460                         count_pot=count_pot+1\r
461                 if "&" in password[count]:\r
462                         count_pot=count_pot+1\r
463                 if "/" in password[count]:\r
464                         count_pot=count_pot+1\r
465                 if "(" in password[count]:\r
466                         count_pot=count_pot+1\r
467                 if ")" in password[count]:\r
468                         count_pot=count_pot+1\r
469                 if "=" in password[count]:\r
470                         count_pot=count_pot+1\r
471                 if "?" in password[count]:\r
472                         count_pot=count_pot+1\r
473                 if "\\" in password[count]:\r
474                         count_pot=count_pot+1\r
475                 if "¡" in password[count]:\r
476                         count_pot=count_pot+1\r
477                 if "¿" in password[count]:\r
478                         count_pot=count_pot+1\r
479                 if "[" in password[count]:\r
480                         count_pot=count_pot+1   \r
481                 if "]" in password[count]:\r
482                         count_pot=count_pot+1\r
483                 if "{" in password[count]:\r
484                         count_pot=count_pot+1\r
485                 if "}" in password[count]:\r
486                         count_pot=count_pot+1\r
487                 if "+" in password[count]:\r
488                         count_pot=count_pot+1\r
489                 if "*" in password[count]:\r
490                         count_pot=count_pot+1\r
491                 if "~" in password[count]:\r
492                         count_pot=count_pot+1\r
493                 count=count+1\r
494         if count_pot<=0.1 and count_pot>=0:\r
495                 cali="muy muy débil"\r
496         elif count_pot<=1 and count_pot>=0.2:\r
497                 cali="muy débil"\r
498         elif count_pot<=3 and count_pot>=1.1:\r
499                 cali="débil"\r
500         elif count_pot<=5 and count_pot>=3.1:\r
501                 cali="fuerte"\r
502         elif count_pot<=10 and count_pot>=5.1:\r
503                 cali="muy fuerte"       \r
504         elif count_pot<=15 and count_pot>=10.1:\r
505                 cali="poderosa"\r
506         else:\r
507                 cali="indetectable"\r
508         pass_2=password\r
509         return cali\r
510 """\r
511 import time\r
512 count_max=[0,"lala"]\r
513 \r
514 from tkinter import *\r
515 """\r
516 """\r
517 while True:\r
518         check_password_potential(password(30))\r
519         if count_max[0]<=count_pot:\r
520                 count_max=[count_pot,pass_2]\r
521         print(cali,pass_2,"\n",count_max)\r
522         print("_"*int(count_pot))\r
523         time.sleep(0.1)\r
524 \r
525 """\r
526 """\r
527 import threading\r
528 \r
529 root=Tk()\r
530 \r
531 hola_status=""\r
532 hola=StringVar()\r
533 e1=Entry(textvariable=hola)\r
534 e1.grid()\r
535 status=Label(text="Generador")\r
536 status.grid()\r
537 \r
538 def while_():\r
539         global hola_status,hola\r
540         while True:\r
541                 if hola_status==hola.get():\r
542                         pass\r
543                 else:\r
544                         hola_status=hola.get()\r
545                         status.config(text=check_password_potential(hola.get()))\r
546 t=threading.Thread(target=while_)\r
547 t.start()\r
548 \r
549 \r
550 \r
551 root.mainloop()"""\r
552 """\r
553 \r
554 count=1\r
555 for i in range(0,27):\r
556         print("if "+'"'+alphabet[count]+'"'+" in password[count]:")\r
557         count=count+1\r
558 """\r