The entire problem of rolling your own security code is that you will never know if you messed it up.
For functional code this is only an issue with silent corrupted data.