Karşınızda Magic Encryption 1.0.2
Cihazdaki bir değer diskte okunamaz kalsın.
Magic framework uygulamaları için AES-256-CBC, Crypt facade'i üzerinden. Payload'lar doğrulanmaz ve Laravel'in encrypter'ı ile uyumlu değildir.
Tek facade. İki anahtar.
Crypt, APP_KEY ile ya da Vault'ta tutulan cihaz başına bir anahtarla şifreler. Değeri diskte okunamaz tutar; doğrulamaz.
-
Şifrele ve çöz
Daha fazla Şifrele ve çöz hakkındaCrypt.encrypt(value)veCrypt.decrypt(payload)uygulama anahtarını kullanır: AES-256, CBC modu ve PKCS7 padding. -
Uygulama anahtarı
Anahtar 32 ham karakter ya da 32 byte'a çözülen bir
Daha fazla Uygulama anahtarı hakkındabase64:değeridir. Encrypter onuapp.keyüzerinden lazy olarak çözümler. Anahtar her build'in içinde gider; değeri uygulamaya sahip olmayandan gizler, build'i açandan değil. -
Cihaz başına anahtar
Daha fazla Cihaz başına anahtar hakkındaCrypt.encryptWithDeviceKeyveCrypt.decryptWithDeviceKey, Vault'ta tutulan anahtarı kullanır. ÖmrünühasDeviceKey,generateDeviceKeyveclearDeviceKeyyönetir. -
Payload biçimi
Her çağrı yeni rastgele 16 byte'lık bir IV kullanır; payload
Daha fazla Payload biçimi hakkındabase64(iv):base64(ciphertext)biçimindedir. MAC, key id ve rotation yoktur; Laravel formatı da değildir. -
Hatalar exception'dır
Çözülemeyen bir payload
Daha fazla Hatalar exception'dır hakkındaMagicDecryptExceptionfırlatır. Boş string şifrelemekRangeErrorfırlatır. -
Anahtarı üretin
Daha fazla Anahtarı üretin hakkındadart run magic:dowel key:generate,APP_KEY=base64:...satırını.envdosyasına yazar;--showverirseniz anahtar.envdosyasına yazılmaz, ekrana basılır. Var olan anahtarın yerine geçer; eski anahtarla şifrelenmiş değerler okunamaz olur.
Saniyeler içinde ekleyin
Ya da pubspec.yaml dosyasına ekleyin:
dependencies:
magic_encryption: ^1.0.2
Ya da yapay zeka ajanınıza şu istemi verin: