crypt()用户id为字母数字,用于api请求url

nukf8bse  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(284)

当用户将帐户添加到他们的配置文件中时,该帐户将获得数据库所期望的自动递增id。
我使用这个id,然后使用php的 crypt($account_id, 'salt_here') 使用一个自定义的静态salt函数生成一个安全的公共id,我不在乎用户是否看到它,然后将它添加到数据库中供相关帐户将来使用。
我想在我正在构建的restapi中使用这个加密的id。
我在这里:
用户使用api获取配置文件上的帐户 /v1/accounts/PROFILE_USERNAME 每个帐户结果都显示加密的\u id,我只是在结果数据中将其命名为id(我不想显示数据库中的真实id) "id": "Mq5RFENsi4/rw" 然后,用户可以循环通过api请求中的帐户数据,获得加密的\u id,然后发出另一个api请求( /v1/accountSiblings/ACCOUNT_CRYPTED_ID ) (ACCOUNT_CRYPTED_ID = Mq5RFENsi4/rw) 有关帐户的更多信息,例如,帐户有多少兄弟姐妹。
我的问题是 crypt() 不返回字母数字结果,因此在传递到另一个api请求的url时,数据是不确定的,特别是考虑到它可以返回正斜杠和其他我不想要的字符。
有没有另一个单向密码功能,我可以使用,只是字母数字作为加密id使用?
有没有更好的方法来实现我的目标?
希望我说的够清楚,谢谢

luaexgnf

luaexgnf1#

凌晨4点了,请容忍我。
我想我只要 md5() 地穴的输出。。。
md5散列是否被解密并不重要,因为最终结果基本上是gobbledegook,是一个单向散列。
很明显现在我想起来了。。。

相关问题