久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

java - 如何設(shè)計帶時間限制的激活碼?

瀏覽:154日期:2023-10-13 11:20:12

問題描述

我做了個軟件,想用激活碼方式授權(quán),有些只想授權(quán)1個星期,光是授權(quán)的話,用MD5做加密的,但是怎么讓激活碼帶著授權(quán)時間讓程序識別呢?請教大神們

問題解答

回答1:

別想著放客戶端,改了電腦時間你這個程序就over了。建議放在服務(wù)端認證,啟動的時候使用HTTP方式去服務(wù)端驗證是否過期

回答2:

很簡單,1、首先要用服務(wù)端來驗證授權(quán)碼的有效性;2、MD5規(guī)則可以加上時間來生成,例如授權(quán)有效期一個月,那你的MD5可以使用MD5(authCode+dateformart(new Date(),'yyyymm')),這樣一個月內(nèi)你的授權(quán)碼生成的Md5都是一樣的,也就是授權(quán)碼有效,注意一定是服務(wù)端校驗,時間要取服務(wù)端的時間;3、MD5規(guī)則可以再增加幾層,防止被撞庫破解,可以加上MD5(SHA512(salt+authCode+dateformart(new Date(),'yyyymm'))),這樣基本沒可能破解了,salt的話可以每一個authCode生成一個隨機變量,保存在服務(wù)端。

回答3:

這個方法有多種,但都不能保證不被破解。

簡單的來說,可以把時間信息添加到驗證碼中。比如說你需要的有效期是7天,那么你可以以你生成驗證碼那天的日期來作為生成驗證碼的一個因子。在你的程序做驗證的時候,獲取當前的日期,并往前再推六天,共7天,以同樣的方式生成7個驗證碼來檢驗。如果有一個是正確的,那說明還沒有過期。

回答4:

你MD5不也是用一個數(shù)算得么?把時間信息加進去不就行了?

回答5:

不想被破解,只能放到服務(wù)端,我可以給你提供免費的后端服務(wù),哈哈

回答6:

最簡單的方法是,將你md5加密后的激活碼+日期存到數(shù)據(jù)庫里,驗證的時候判斷下時間就可以了,當然激活碼不能重復(fù),可以設(shè)置主鍵或唯一索引

回答7:

md5加密的話,加密串里不能放日期,日期用別的加密串或者明文,不想被破解就用服務(wù)端認證

回答8:

可以這樣設(shè)計數(shù)據(jù)結(jié)構(gòu):{’a’:’驗證碼’,’b’:’過期時間(距離1970年的時間長度)’},然后將該段字符串加密即可。

回答9:

在服務(wù)器端做比較方便吧,服務(wù)器端三個字段可以,過期時間,是否已使用,客戶只知道key就可以了

回答10:

放在redis里面,設(shè)置過期時間。。。

標簽: java
相關(guān)文章:
主站蜘蛛池模板: 莎车县| 桐乡市| 临潭县| 镇赉县| 惠州市| 阳朔县| 新昌县| 密云县| 泌阳县| 松江区| 同仁县| 石棉县| 阜阳市| 河北省| 监利县| 镇江市| 遵义市| 晋城| 雷州市| 新田县| 库尔勒市| 大丰市| 阿图什市| 永安市| 凤台县| 蓝田县| 仙桃市| 镇雄县| 朝阳市| 永安市| 平安县| 广元市| 英德市| 桐城市| 鄂托克旗| 新营市| 石门县| 嵊州市| 银川市| 东平县| 崇义县|