это приложение ioni c использует сканер штрих-кода / ngx для сканирования qr, которые содержат некоторые данные, подобные этим:
U2FsdGVkX18ZiW2uS4siFkyhfNNTONWKRZZ1O5PYI6CUqKcLJdv//7VxPVkwpV0L
rRz7javcch77rsCA5hcaJUNle1lxVRb3mWMHyogWpTLXdV6Oq10hstzcznwqHm4+
kgDZVXm/e6FX7JofiHH58gLVvYGSpNbCgSDcHzGzmqM+zye9QYFbLD8381zl3z88
b9p3MwwhjJZo6olXIMazcAkndbyAdgzfXJlGvs5whLeMgWtluSNnNKWkY26BfMwT
uLxvQQgzr8VjfjQ21a8cHXJEu2qrbuu0y2JkzxWvIwFLw9XjRFHn/rOlD+q1fSuO
, который является выходом шифрования aes
после его сканирует qr он использует Crypto JS для расшифровки qrdata
с помощью кода, подобного этому
CryptoJS.AES.decrypt(qrdata, this.secretKey.trim()).toString(CryptoJS.enc.Utf8);
, но я получил эту ошибку, в то время как decr
Error: Malformed UTF-8 data
я использую эта справка: Почему я получаю ошибку данных Malformed UTF-8 на crypto- js?
, но после дешифрования окончательный код возвращает ноль или пуст, я проверяю вывод сканирования qrcode, все в порядке
scanCode()
{
this.barcodeScanner.scan().then(barcodeData => {
this.scannedCode=barcodeData.text;
if (this.scannedCode!="" || this.scannedCode!=null)
{
const str = this.scannedCode;
const info2 = crypto.AES.decrypt(str, 'secretKey').toString(crypto.enc.Utf8);
this.dec=({ info2 });
alert("start");
alert(this.scannedCode); ///it is ok
alert(this.dec.info2); // alert empty
.................