"""" " SVXLINK SYSOP ROLLING CODE " SVXLink Card on http://svxcard.f5uii.net " " This Python software generate a unique code, valid only for 3 minutes. It will secure your system operator DTMF remote commands. " Requires that your Raspberry Pi is clock synchronised. " 08.02.2016 (b)- Christian, F5UII " version 0.1 - Under Creative Commons licence [by-nc-sa] http://creativecommons.org/licenses/by-nc-sa/4.0/ " """ import time import math from datetime import datetime, timedelta a = time.localtime() COMPLEXITY_CODE = 452 #Give a private complexity code. Remember to change this code for have your generated password personnal. minute1 = datetime.now() + timedelta(minutes=1) minute_1 = datetime.now() + timedelta(minutes=-1) datejour = time.strftime('%d') datemois = time.strftime('%m') dateannee= time.strftime('%y') heure = time.strftime('%H') min = time.strftime('%M') min_1 = minute_1.strftime('%M') min1 = minute1.strftime('%M') def codage(datejour,datemois,dateannee,heure,min): a=int(datejour)+int(datemois)+int(dateannee)+int(COMPLEXITY_CODE) b = a ^ (int(heure)+ int(min[1])*10+ int(min[0])) resu_b = b res = b - (math.floor(b/100))*100 resu_b= '%02d' %res c= int(datejour)*int(datemois) ^ (int(heure)*int(min)); resu_c = c res = c - (math.floor(c/100))*100 resu_c= '%02d' %res resu= str(resu_b).zfill(2) + str(resu_c).zfill(2) return resu file = open("/tmp/codes.tcl", "w") file.write( "set code_A " + codage (datejour,datemois,dateannee,heure,min_1) + ";") file.write( "set code_B " + codage (datejour,datemois,dateannee,heure,min) + ";") file.write( "set code_C " + codage (datejour,datemois,dateannee,heure,min1) + ";") file.close()