日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

分享一款好用的PHP下ID混淆插件

發布時間:2025/3/20 php 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分享一款好用的PHP下ID混淆插件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前幾天接到個任務,甲方先前自己找外包開發的一個產品購買小站不準備繼續給外包維護了,轉手拋給我們,順便提了一堆修改意見。 其中一個意見是因為外包開發的訂單網站直接用數據庫自增的id作為訂單號,導致訂單號又短又好記,下單的人直接通過訂單號就能推測出該產品的銷量,為甲方業務員的吹噓設下巨大的阻礙。 不出所料這個包袱到我的桌上。 通過搜索,我列出幾種方法供領導選擇: ?
方法\原始id值優缺點1510100
訂單創建時間戳轉年月日時分秒后加左邊拼0的id,長度22 優點:不用改動表結構數據 缺點:懂行的人一眼就能看穿 2017032110445700000001201703211044570000000520170321104457000000102017032110445700000100
所有id全加41100000,長度8 優點:比較短,8位容易閱讀 缺點:需要改動表數據 41100001411000054110001041100100
給訂單表增加一個字段,使用隨機字符串生成給定長度 優點:訂單號與id完全無關,難以判斷銷量 缺點:需要改動表結構 隨機隨機隨機隨機
使用github插件,optimus優點:不用改動表結構數據6478907424434424501912211452509963
? 根據指示,似乎決定使用optimus,在github上搜,第一個就是。 先在本地搭了一個測試環境,使用composer拉下源碼后,在自帶的bin目錄下運行 php optimus spark 得到三個配置必須參數 Prime:2147483647以下一個較大的素數 Inverse:一個逆素數,使(PRIME * INVERSE) &?2147483647 == 1 Random:一個2147483647以下的隨機數 建個測試文件,設置參數就能用了。 use Jenssegers\Optimus\Optimus; //根據測試文件和vendor所在的位置正確設置路徑 require_once(__DIR__.'/../vendor/autoload.php'); $config=array('prime'=>653936159,'inverse'=>7845343,'random'=>421554952 ); $optimus=new Optimus($config['prime'],$config['inverse'],$config['random']); $exampleId=rand(1,99999); $encode=$optimus->encode($exampleId); $decode=$optimus->decode($encode); echo "raw:{$exampleId}<br>encode:{$encode}<br>decode:{$decode}";

?

該混淆算法使用了Donald Knuth的整型哈希,具體算式: ENCODE = ( ( RAW * PRIME ) & ( 2^32-1 ) ) ^ RANDOM DECODE = ( ( ENCODE ^ RANDOM ) * INVERSE ) & ( 2^32-1 ) ( PRIME * INVERSE ) & ( 2^32-1 ) = 1 ? 缺點是假如訂單被打印成紙了,那么三個參數必須固定,再也不能變換。

轉載于:https://www.cnblogs.com/waltersgarden/p/6604298.html

總結

以上是生活随笔為你收集整理的分享一款好用的PHP下ID混淆插件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。