Il ministero ho anche rilasciato la versione per ios con i sorgenti. Sarebbe bello poterlo integrare nelle proprie app la funzioncina di decodifica.io farei la versione iOs .... Santi Licheri permettendo
Sorgenti, sorgenti, sorgentiIl ministero ho anche rilasciato la versione per ios con i sorgenti. Sarebbe bello poterlo integrare nelle proprie app la funzioncina di decodifica.
Si ma intanto hanno distribuito i sorgenti ufficiali nel repository del Ministero della salute.
Magari lo avranno fatto per completare la collezione di @Xfood. Ma non sembra molto sensato
Quindi se prendiamo quella europea (non quella italiana) e la modifichiamo potremmo farlo... ci dichiariamo uno stato a se con una nostra AppHanno fatto poca fatica: è esattamente quella europea con il cambiato nome, icona e link per scaricare le chiavi pubbliche e le businessrule e dicono di aver rimosso alcune info visualizzate per assecondare il Garante.
E' opensource in modo che il Garante della Privacy abbia potuto verificare e dare il benestare.
Gli europei l'hanno "fatta" in Kotlin e quindi anche per iOS
Anche il server di chiavi pubbliche e businessrule è opensource e lo ha fatto l'Europa e ogni Stato l'ha solo dovuto installare. Il server serve per distribuire (una volta al giorno) alla app (che quindi funzionerà poi offline) le chiavi pubbliche aggiornate e le regole per validare (in locale) i dati decodificati. Le regole applicano quanto scritto nel Allegato B al DPCM 17/06/2021
View attachment 117079
Sembra invece che siano stati più bravi gli Svizzeri perché la loro app "Covid Certificate Check" funziona già da Android 6
COVID Certificate Check - App su Google Play
Verificare i certificati COVID con un dispositivo mobileplay.google.com
Sorgenti, sorgenti, sorgenti
If qrcodeString.Length<4 Then Return ""
If qrcodeString.SubString2(0,4) <> "HC1:" Then Return ""
Dim data As String = qrcodeString.SubString(4)
If data = "" Then
xui.MsgboxAsync("Errore nei dati letti da QrCode", "B4X")
Return
End If
Dim base45decoded() As Byte = base45decode(data)
If base45decoded(0)<>0x78 Then
xui.MsgboxAsync("Errore nei dati da decomprimere dopo base45decode", "B4X")
Return
End If
Dim cs As CompressedStreams
Dim decompressed() As Byte = cs.DecompressBytes(base45decoded, "zlib")
Private Sub base45decode(encodedString As String) As Byte()
'Dim alphabet() As String = Array As String("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":")
Dim mAlphabet As Map = CreateMap("0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9, "A": 10, "B": 11, "C": 12, "D": 13, "E": 14, "F": 15, "G": 16, "H": 17, "I": 18, "J": 19, "K": 20, "L": 21, "M": 22, "N": 23, "O": 24, "P": 25, "Q": 26, "R": 27, "S": 28, "T": 29, "U": 30, "V": 31, "W": 32, "X": 33, "Y": 34, "Z": 35, " ": 36, "$": 37, "%": 38, "*": 39, "+": 40, "-": 41, ".": 42, "/": 43, ":": 44)
If encodedString.Length = 0 Then Return
If (encodedString.Length Mod 3) = 1 Then Return ' ERRORE
Dim i As Int, l As Long
Dim chunk3 As String, chunk2 As String, m As Int
Dim bb As B4XBytesBuilder
bb.Initialize
For i = 0 To encodedString.Length-1 Step 3
l = 0
If i+3 > encodedString.Length Then
chunk2 = encodedString.SubString2(i,i+2)
m = mAlphabet.GetDefault(chunk2.SubString2(1,2),-1)
If m = -1 Then Return
l = l + m * 45
m = mAlphabet.GetDefault(chunk2.SubString2(0,1),-1)
If m = -1 Then Return
l = l + m
Else
chunk3 = encodedString.SubString2(i,i+3)
m = mAlphabet.GetDefault(chunk3.SubString2(2,3),-1)
If m = -1 Then Return
l = m * 2025
m = mAlphabet.GetDefault(chunk3.SubString2(1,2),-1)
If m = -1 Then Return
l = l + m * 45
m = mAlphabet.GetDefault(chunk3.SubString2(0,1),-1)
If m = -1 Then Return
l = l + m
End If
If l >= 256 Then
bb.Append(Array As Byte(Floor( l / 256).As(Byte)))
bb.Append(Array As Byte((l Mod 256).As(Byte)))
Else
bb.Append(Array As Byte(l.As(Byte)))
End If
Next
Return bb.ToArray
End Sub
Sbagli, sono 5.2565255 per l'esattezza
quasi quasi gli faccio sviluppare il mio, quello ideato nel 1492 e mai realizzato! Pure per 25€, toh! ?loro con 20€ te lo danno già pronto...
Mi pare che hanno annunciato di realizzare un server game.quasi quasi gli faccio sviluppare il mio, quello ideato nel 1492 e mai realizzato! Pure per 25€, toh! ?
Lo voglio personalizzatissimo! Facciamo 27€, allora. E 30 centesimi; mi voglio rovinare ?Mi pare che hanno annunciato di realizzare un server game.
Quello e' gia stato realizzato, e venduto con codice sorgente esculivo ad un cliente importanteMi pare che hanno annunciato di realizzare un server game.
Abbonati e ricevi ogni progetto che sfornano