Comments (8)
We do have plans to add the internal counter to PHP 8.2, but that obviously won't land immediately.
from halite.
I do not know what you mean by "internal counter". The problem I am describing is that in the default configuration with PHP 8.zero the PHP poly-fill is used. This is ok when you encrypt small chunks of data, but renders Halite actually close to unusable for large amounts of data. PHP 8.zero is not dead, is it? Halite really shows extremely poor performance with PHP 8.0.
from halite.
Oh, I misunderstood. I'll look into the problem. It should be using the standard library function by default.
from halite.
Sorry, it can't use the standard library function because the version of the bundled libsodium (with PHP 8.zero) does not supply this function. Hence it has to use the poly-fill. As written in my first comment, in order to get the required sodium_crypto_stream_xchacha20_xor
function you have to install a custom libsodium from its github repo (which implies that on some distros you have also to recompile PHP as it already comes with the "stable" version of libsodium compiled in.
from halite.
Sorry, it can't use the standard library function because the version of the bundled libsodium (with PHP 8.zero) does not supply this function.
The easiest solution then is to upgrade to PHP 8.1, since PHP 8.0 lacks this function built-in.
from halite.
This is not an easy solution if parts of your project do not yet fully support PHP 8.0.
AND: you advertise your Halite to be usable with PHP 8.0: In your README.md I find:
Halite 5.0 and newer | 8.0.0 | 1.0.18 | N/A (standard) | Active
However, the usability of Halite 5 with PHP 8.0 is somewhat limited due to above mentioned performance problems.
Should not this be documented at a prominent position in README.md?
from halite.
No. We'll drop PHP 8.0 support if that makes it easier.
from halite.
https://github.com/paragonie/halite/releases/tag/v5.1.0
from halite.
Related Issues (20)
- getKeyDataFromString hash validation fail HOT 8
- Invalid message authentication code HOT 1
- export/import string Asymmetric-Key Encryption keypair? HOT 3
- password protected secretKey? And: change password without changing publicKey? HOT 2
- Switch to ChaCha20 for symmetric encryption HOT 6
- What if you already have a RSA 2048 key and you want to use it instead of generating a new key? HOT 2
- Use EC brainpoolP256r1 key for encryption/decryption HOT 6
- Asymmetric authenticated file encryption/decryption HOT 3
- Create a different key pr environment HOT 3
- halite for Python HOT 2
- php opcache.preload won't work because of conditional functions HOT 2
- Decrypting a file to output buffer fails HOT 1
- 'Expected hexadecimal character' exception from $cookie->fetch() after upgrade
- Is there a reason why the result of Symmetric::encrypt() always starts with 'MUIFA'? HOT 1
- Make use of PHP 8.2's #[\SensitiveParameter] to improve security
- Invalid message authentication code HOT 1
- invalid version tag when migrating from halite 4.8.0 to 5.1.0
- Uncaught PHP Exception RangeException: \"Expected hexadecimal character\ on symfony HOT 1
- Question: Can this library be used to decrypt Web Push Notifications from Mastodon?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from halite.