如何加密/解密安全QR-在Swift中将代码转换为可读格式

时间:2019-07-02 13:24:26

标签: ios swift encoding qr-code aadhaar

我已成功扫描并从QR读取stringValue。但是无法将stringValue转换为可读格式。 https://uidai.gov.in/images/resource/User_manulal_QR_Code_15032019.pdf 我尝试使用上述过程进行转换,但无法成功。

1)我尝试将库转换为BigInt并转换为二进制值

 let str = String(self.metadataStringValue, radix: 2)
        print(str)

2)成功将Big Integer转换为字节数组

 let byteArray = Array(BigUInt(str)!.serialize())
        print(byteArray)

3)使用了苹果的解压缩算法(zlib)

4)从索引0读取字节数组的值,直到第一个定界符值“ 255”,然后将此字节数组值转换为编码为“ ISO-8859-1”的字符串。

var firstDelimiter = ArraySlice<UInt8>()
    var firstDelimiterArray = [UInt8]()
    var delimiterIndex:Int = 0

for index in 0..<byteArray.count {

    if byteArray[index] == 255 {
        firstDelimiter = byteArray[delimiterIndex...index]
        delimiterIndex = index + 1

        firstDelimiterArray = firstDelimiter.map { $0 }

        let data2 = Data(bytes: firstDelimiterArray, count: firstDelimiterArray.count)
        print(data2 as NSData)
     }
}

5)“ ISO-8859-1”编码 无法转换为readbale格式(我用过.isolatin1)

0 个答案:

没有答案