Constant-time Comparison Clgorithm to Prevent Timing Attacks, pulled out of ActiveSupport::MessageVerifier