- "nobody has a rainbow table for [this scheme]"
Well, this is a huge claim so needs justification. Building a rainbow table is not hard. Once you are a target, the table will be ready. For example crackstation claims to have it. So once the attackers have access to the table of SHA2(password) + SHA3(password) they could use the existing rainbow table to extract the password from one of the hashes. That is: the security is equal to one hash not two. They have more freedom, too, since they can attack whatever part of the hashing is suitable for them.
- "salting is insecure" (no elaboration)
Salt is public, so it doesn't add to security. This is known by design. It helps to kill rainbow tables. Nobody is going to build a rainbow table for a single target - salt forces to be a single target. Instead of building a rainbow table just search, easier.
- "SHA3 is better" (this app does not, in any way, need post-quantum forward secrecy)
SHA3 is better than what? Any cryptographic secure hash function with output size > 256 bits is secure against classical and post-quantum.
The approaches are wrong, old, and bad! We don't use SHAx for password hashing (at least not directly). We prefer specially designed password hashing algorithms like PBKDF2, Bcrypt, Scrypt, Argon2, Balloon.
- "it'll slow a hacker down" (I guess?)
It can be a little, but at most double. Consider a correct approach, Argon2, for example:
- one can set iteration to reduce searching, take 1M then they will slow as 1M
- one can set memory hardness, which requires a bunch of memory to kill ASIC/GPU/FPGA
- require many CPU threads to kill the parallelization of the attacker
Additionally:
- Is there any possible benefit?
In normal user scenarios, No!