无法在数据库中存储加密的整数

Cant store encrypted Integer in Database

我正在使用 Laravel 开发一个接受信用卡在线支付的网站,并且在存储到数据库之前必须对其进行加密 我正在使用 RC4 加密来加密一个整数,然后将其存储在我的数据库中 它在加密后抛出错误原因它看起来像那样 r ��`��q�� 如此奇怪的符号和标志 它无法存储,因为我的数据库排序规则是 utf16 general_ci 我用了别的东西但没用 [这个错误1

加密数据通常是二进制数据,您在问题中显示的字符表明您的应用程序就是这种情况。

解决您的问题的一个好方法是使用 base64_encode() to convert your encrypted binary data to text before putting it into MySQL, and base64_decode() 从 MySQL 读取二进制数据后取回二进制数据。

警告:RC4 加密不安全。它已经被破解了将近十年。如果您使用它来存储敏感的信用卡数据,网络犯罪分子很可能会窃取该数据。您的客户不会喜欢那样。

如果您想处理信用卡数据,最好的办法是使用支付服务提供商,例如 stripe.com、paypal 或许多其他提供商之一。您不希望信用卡号(即使是加密的)存储在您的数据库中。