iOS Question Using B4XAES Lib

Swissmade

Well-Known Member
Licensed User
Longtime User
I'm not familiar with this library implementation but you can use (j)B4XEncryption, iEncryption. I think that the library you mentioned actually wraps these libraries.

 
Upvote 0
I'm not familiar with this library implementation but you can use (j)B4XEncryption, iEncryption. I think that the library you mentioned actually wraps these libraries.

This I have try and the message from the Compiler I get are many errors.
But maybe B4XCipher has to go as Cipher and without B4XAES Library then the errors are gone.

Will test this and let you know the result.

Thanks for helping.
 
Upvote 0
True. The code with (j)B4XEncryption and iEncryption will not be 100% identical, only 95% but the encryption is cross platform.
Simply use conditional compilation.
Ok will test.|

Thanks Erel
 
Upvote 0
95% but the encryption is cross platform
I think I do something wrong or Apple Cipher is not really the same as B4Cipher.
It is not working Encrypt QR build with B4J can not be read by B4i.
In B4J and B4A I use jB4XEncryption and for B4i I use IEncryption
Code:
Public Sub SetAES1(Mess As String, Key As String, HaveToEncrypt As Boolean) As String
    Dim AesString As String
    Dim c As B4XCipher
    Dim b() As Byte
    Dim su As StringUtils
    Try
        If HaveToEncrypt = True Then
            b = c.Encrypt(Mess.GetBytes("utf8"), Key)
            AesString = su.EncodeBase64(b)
            Log(AesString)
        Else
            Dim enc() As Byte = su.DecodeBase64(Mess)
            b = c.Decrypt(enc, Key)
            AesString = BytesToString(b, 0, b.Length, "utf8")
        End If
    Catch
'        ShowLog("Error getting Password or Key", True, LastException.Message)
        AesString = "Wrong-Key"
    End Try
    Return AesString
End Sub

Code:
Public Sub SetAES1(Mess As String, Key As String, HaveToEncrypt As Boolean) As String
    Dim AesString As String
    Dim c As Cipher
    Dim b() As Byte
    Dim su As StringUtils
    Try
        If HaveToEncrypt = True Then
            b = c.Encrypt(Mess.GetBytes("utf8"), Key)
            AesString = su.EncodeBase64(b)
            Log(AesString)
        Else
            Dim enc() As Byte = su.DecodeBase64(Mess)
            b = c.Decrypt(enc, Key)
            AesString = BytesToString(b, 0, b.Length, "utf8")  <Crash here wrong Key
        End If
    Catch
'        ShowLog("Error getting Password or Key", True, LastException.Message)
        AesString = "Wrong-Key"
    End Try

    Return AesString
End Sub
 
Upvote 0
1663661563204.png

QR Code to test
Text = This is a Encrypted QR Code
key = test Key
 

Attachments

Last edited:
Upvote 0
Add B4XEncryption
Test that but now the error File Not Found

B4iProject/b4i_main.m:2:
/Users/administrator/Documents/UploadedProjects/<user id>/B4iProject/b4i_main.h:5:9: fatal error: 'B4XEncryption.h' file not found
#import "B4XEncryption.h"
 
Upvote 0
You don't need to add anything.
Download the example project. Change the package name based on your provision profile and run it.
Then I think the problem is, that I don't use B4XPages
 
Upvote 0
I'm sorry but I cannot further help you here.
The example project runs as-is. You don't need to change anything. And the feature has nothing to do with B4XPages.
Ok will test it
Thanks Erel
 
Upvote 0
Hm I wondering.
All is working when I use the code generated with encrypt.
Put when I Scan the code as QR and read it back to Decrypt I get a other code.

Funny this . Is it possible that the scanner already do some Encryption?
 
Upvote 0
Thanks Erel,
You have give me the direction to go and let me think.
I forgot in the scan part to remark the line
Code:
sb.Append("Detected code:").Append(CRLF)
This line is add to the scan result and I have not seen it in the first place.

Problem solved
Thanks again to let me search more.
 
Upvote 0
Back
Top