導航:首頁 > 編程語言 > phptoken加密

phptoken加密

發布時間:2023-06-02 10:36:55

1. php用戶登陸後的token一般怎麼生成的app端

這個需要php後端生成,當登錄成功的時候,後端通過用一些信息通過演算法組合成token,返回給app端,app端接收保存。這個token盡量做成可以還原解析

2. php 開發介面 怎麼設計token比較合適

每登錄一次返回給介面一個token,這個token會存儲在單獨的表裡,每次APP關繫到用戶的操作都必須要攜帶token,根據token來解碼出是哪個用戶。這種方法也可以做其他設備登錄踢出。一般都是這么個做法。token的生成類似cookie的密碼加密,我是這么做的,當然有很多種方法,只要你能加密能解密就行。下面是phpcms裡面的一個經典的方法,我一般拿來做cookie加密,製作token來使用。

<?php
/**
*字元串加密、解密函數
*
*@paramstring$txt字元串
*@paramstring$operationENCODE為加密,DECODE為解密,可選參數,默認為ENCODE,
*@paramstring$key密鑰:數字、字母、下劃線
*@paramstring$expiry過期時間
*@returnstring
*/
functionsys_auth($string,$operation='ENCODE',$key='',$expiry=0){
$ckey_length=4;
$key=md5($key!=''?$key:C('COOKIE_AUTH_KEY'));
$keya=md5(substr($key,0,16));
$keyb=md5(substr($key,16,16));
$keyc=$ckey_length?($operation=='DECODE'?substr($string,0,$ckey_length):substr(md5(microtime()),-$ckey_length)):'';

$cryptkey=$keya.md5($keya.$keyc);
$key_length=strlen($cryptkey);

$string=$operation=='DECODE'?base64_decode(strtr(substr($string,$ckey_length),'-_','+/')):sprintf('%010d',$expiry?$expiry+time():0).substr(md5($string.$keyb),0,16).$string;
$string_length=strlen($string);

$result='';
$box=range(0,255);

$rndkey=array();
for($i=0;$i<=255;$i++){
$rndkey[$i]=ord($cryptkey[$i%$key_length]);
}

for($j=$i=0;$i<256;$i++){
$j=($j+$box[$i]+$rndkey[$i])%256;
$tmp=$box[$i];
$box[$i]=$box[$j];
$box[$j]=$tmp;
}

for($a=$j=$i=0;$i<$string_length;$i++){
$a=($a+1)%256;
$j=($j+$box[$a])%256;
$tmp=$box[$a];
$box[$a]=$box[$j];
$box[$j]=$tmp;
$result.=chr(ord($string[$i])^($box[($box[$a]+$box[$j])%256]));
}

if($operation=='DECODE'){
if((substr($result,0,10)==0||substr($result,0,10)-time()>0)&&substr($result,10,16)==substr(md5(substr($result,26).$keyb),0,16)){
returnsubstr($result,26);
}else{
return'';
}
}else{
return$keyc.rtrim(strtr(base64_encode($result),'+/','-_'),'=');
}
}
?>

3. php token 是什麼東西,有什麼作用,具體要怎麼實現 希望配合代碼解釋

token可以用來作登陸驗證的。比如做微信公眾號開發,一般他們會在用戶使用微信登陸的時候,生成一個唯一的token,來標記這個用戶登陸的狀態。這個token是生成的唯一標識,所以裡面不攜帶用戶的信息。這樣就降低用戶用戶名密碼的被竊取的風險性。實現你可以根據用戶的id以及固定的字元串加上時間戳來生成,像存用戶名密碼一樣存起來,你也可以給這個token設置一個過期時間,到期重新生成一個token。

4. php 如何實現 java的sha1加密

function encryptTokey($data){
$apikey = 'testapikey111';
$ps1 = sha1($apikey . strtolower($data));
$ps1 = strtoupper($ps1);
$s1 = implode(str_split($ps1, 2), '-');
$ps2 = md5($s1 . $apikey);
$ps2 = strtoupper($ps2);
$token = implode(str_split($ps2, 2), '-');
return $token;
}
echo encryptTokey('testdata');

運行結果:
68-10-98-74-4C-82-74-4B-CC-49-31-98-46-02-EE-8E

詳細你可以去後盾人看看,這些都是後盾人裡面的,哪裡有詳細的視頻教學都是高質量,我自己就是在裡面學的。

5. php介面怎樣安全接收並驗證token

<?php
/*
*PHP簡單利用token防止表單重復提交
*此處理方法純粹是為了給初學者參考
*/
session_start();
functionset_token(){
$_SESSION[『token』]=md5(microtime(true));
}
functionvalid_token(){
$return=$_REQUEST[『token』]===$_SESSION[『token』]?true:false;
set_token();
return$return;
}
//如果token為空則生成一個token
if(!isset($_SESSION[『token』])||$_SESSION[『token』]==」){
set_token();
}
if(isset($_POST[『test』])){
if(!valid_token()){
echo"tokenerror";
}else{
echo『成功提交,Value:』.$_POST[『test』];
}
}
?>
<formmethod="post"action="">
<inputtype="hidden"name="token"value="<?phpecho$_SESSION[『token』]?>">
<inputtype="text"name="test"value="Default">
<inputtype="submit"value="提交"/>
</form>

閱讀全文

與phptoken加密相關的資料

熱點內容
風月片網站動漫 瀏覽:289
電影拉幫套 瀏覽:745
鴉王電影國語版 瀏覽:600
造機甲的黑科技小說 瀏覽:779
歐美在線觀看網站 瀏覽:385
python整蠱代碼大全 瀏覽:458
電影 中國 飛機 瀏覽:103
畫江湖推倒常宣靈小說 瀏覽:158
java表格居中 瀏覽:404
能來回穿梭現代和民國的小說 瀏覽:830
法國版未刪 瀏覽:755
java中字元串輸入 瀏覽:185
可愛女友糖糖圓圓小詩 瀏覽:272
如何在雲南交投app辦etc 瀏覽:829
尺度大的男同志電影 瀏覽:925
主角為秦霄的穿越小說 瀏覽:707
大尺度床戲多的電影 瀏覽:395
台灣性電影 瀏覽:942
華為手機聊天加密軟體 瀏覽:833