il vaut mieux utiliser une solution native plutôt qu’un plugin si c’est possible …
effectivement on ne stocke jamais un mot de passe mais on stocke son hash c’est bien plus secure.
avec par exemple la commande sha512 de xojo.
Case 0 //encrypt
Dim plainText As String
plainText = datas
Dim encryptedText As String
encryptedText = crypt.EncryptStringENC(plainText)
Return encryptedText
Case 1 //decrypt
Dim decryptedText As String
decryptedText = crypt.DecryptStringENC(datas)
Return decryptedText
end Select
Public Function CryptDecrypt(Mode As integer, datas As MemoryBlock) As String
// 0 encrypt , 1 Decrypte
Var privateKey As String
Var publicKey As String
Var bmessage As MemoryBlock
Var encryptedData As MemoryBlock
Var decryptedData As MemoryBlock
privateKey = "30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100BCB6CE38593CBE327AA4F278845222F9F57C64DCB09F2D974796DC1C9D4433D6B8212BFF210CD35483691114CB7D3DC22C7E1972B3B9989042DC8E0E7D37744A7239D35586A54C66FC29692244337848809F0FB1102813371DE15BDA6AD04FE3080AA8A173B213D957FE4539ACD0D558CAEFBAD8BC9EC3D67774B02EAA5A23F70201110281801BC087BCFE107652B7AED85D04666E8E2BA15A207453A4D27B78114F808A079F938C685A3990F1E6C807EBEC78471FAB9D219A54A1F5A57EA06BBA89A900A028CFA16F9358C93229775ADC8292DB2CC2FBC4DC047436A7D92A07F0D681CE8F4BAED4EEB184AEB76C5861DE5DF3969D701A082812F5A1AD281170F915152DC5D9024100C19AF7B8163B718381C1094F401697824E27457D480BAE8CEAA41F3D4591145D4CB9D0B0E265D03ABB01D3C5ADC07011A482B29A794EF4A672C71037F25067F9024100F9884B4D14AB52964ECB5127EA4A7D31E8D6BEE24B7588E57BD40A1DB28F6D1CB00F4D9FD7DB6457772FBC8EB9DD03800F025E23BD0468EC5AE09BCDC19F476F024100B6377FBC5128E34E983D35F03C517F89B2F7C8EE61ECE084A09A77C1326A6D84FCEB1EC498D84B8291E39A23765AC3D45E992091631D227E8A24C3F86B96F871024100A1764ED785D8447F602934833D3F41F31E3099A17C1EE01C04D47F04283EB00380FAD7DFE6066E1A7A4C10989661D516A04CD380895D34D52BBE82EE8C58010B02406E2EEB1A54D30295F1CE096413DCCE3A3AEAFBA904785B3E1BB59303ADD84F6AEEFEE017A5327DBCD994C3305D7CE9D57827D93929433E4EA8C8C23E00CA801D"
publicKey = "30819D300D06092A864886F70D010101050003818B0030818702818100BCB6CE38593CBE327AA4F278845222F9F57C64DCB09F2D974796DC1C9D4433D6B8212BFF210CD35483691114CB7D3DC22C7E1972B3B9989042DC8E0E7D37744A7239D35586A54C66FC29692244337848809F0FB1102813371DE15BDA6AD04FE3080AA8A173B213D957FE4539ACD0D558CAEFBAD8BC9EC3D67774B02EAA5A23F7020111"
Select Case Mode
Case 0 // Encrypt
bmessage = datas
encryptedData = Crypto.RSAEncrypt( bmessage, publicKey )
Return EncodeBase64(encryptedData)
Case 1 // Now decrypt
encryptedData = DecodeBase64(datas)
If encryptedData <> Nil Then
decryptedData = Crypto.RSADecrypt( encryptedData, privateKey )
End If
Return decryptedData
End Select