If only there was a function that was deterministic, but somehow incredibly difficult to invert, that would sure make a hash of this requirement to store things you're required not to store.
If only there was a function that was deterministic, but somehow incredibly difficult to invert, that would sure make a hash of this requirement to store things you're required not to store.
Signal has spent some time thinking about this problem, see https://signal.org/blog/private-contact-discovery/
You can imagine the headaches this causes.
I was hoping to start over with a fresh account and instead ended up having to create a new email alias in Outlook to use to create a new Apple account - luckily I used an alias the first time as well so the impact wasn't as bad.
In the devil’s defense, the explanation was probably written by a computer illiterate person.
Then again, there may very well have been this one meeting, where a dev went “hold on, I got an idea to avoid storing the number!”, before being politely but briskly advised to stfu. Not impossible.
[1] littera : illiteracy :: numera : innumeracy :: digita : ildigitacy? Iddigitacy?
There is no rainbow table entry for 0123456789+=i=i_fy82dnuf720g%2+70)(k$0@*qsijyn9&19n@1r0-l4ee) with 10000 scrypt rounds.
We are not in 2005 anymore, and we have better tools than md5, or even sha1 to do the job.
However, this is facebook. It's not too expensive for them.
a salt for a password is when we know the username and the salt so can combine the salt and provided password to compare against the generated hash value.
in this case all we know is the phone number, how does a salt help us look up a given phone number in a set of salted / hashes if we dont know what salt to combine it with?
For GDPR you need to legally prove that you have taken reasonable steps to remove and keep out of your system, the data the user has requested. This means that you need to be able to legally prove you've got a system in place.
Keeping a hash is fine technically, but its a pain in the dick to defend in court, especially as its really simple to shower a jury/judge with FUD to make it look like its not a reasonable step.