本文目錄一覽:
sm4 pad block corrupted怎麼解決
pad block corrupted這個報錯問題很常見,下面將從由來開始分析:
首先,由於該公司即將連接香港永隆銀行的生活購物平台(公司業務場景:它將嵌入翼肺銀行的應用程序並拔出相應的接口功能),另一方直接發送了交互式文檔API,但在閱讀過程中,發現調用對方支付接口時,對方需要請求參數(訂單明細參數使用ase256(加密數據)算法進行加密傳輸,簽名數據參數使用rsa2048和sha256算法進行雙重加密傳輸)。
其次,舊規則是直接編寫代碼。在理解了上述接口交互需要加密數據傳輸後,您必須編寫相應的加密算法工具類。
所以,對於sm4 pad block corrupted這個問題解決很簡單,只要閱讀Stack Overflow之後,明白我們需要進行JAVA中JCE策略文件替換了(因為某些國家的進口管制限制,Java發佈的運行環境包中的加解密有一定的限制。比如默認不允許256位密鑰的AES加解密,解決方法就是修改策略文件),在JAVA中,默認支持AES128,如果要使用AES256,還需要替換一下以下兩個文件(local_policy.jar 和 US_export_policy.jar)即可,這兩個文件附件中都有,可以無需再重新下載。
那麼替換方法: **直接在您安裝的JDK路徑下 %JDK_HOME%\jre\lib\security 替換掉這兩個jar包。**,即可輕鬆解決。
如何調用微信js
登錄你的微信平台,點擊「公眾號設置」。
點擊「功能設置」,然後點擊「設置」。
設置JS接口安全域名。這裡填寫的是一級域名,不帶www和http。最多可以設置三個域名。設置完後點擊確定。(多說一句,相比以前的分享沒有任何域名限制,這裡設置安全域名,目的是為了當發現此公眾平台發現誘導分享行為時,可以根據此域名追溯到所有分享出去的鏈接,以及通過這些鏈接增加的粉絲。這樣,微信就可以牢牢控制了你的微信平台,一旦發現違規,讓分享鏈接失效,刪除掉誘導行為增加的粉絲,是瞬間就可以完成的。因此,微信平台的開發者,一定要合理來使用分享功能,不要因小失大。等到你的微信平台被封,估計哭都來不及)
在開發者中心中獲取你的AppID和AppSecret,接下來在獲取令牌時,需要這兩個信息。
獲取令牌。在服務器端完成,代碼如下:
function wx_get_token() {
$token = S(‘access_token’);
if (!$token) {
$res = file_get_contents(‘;appid=’ .’你的AppID’.’secret=’ .’你的AppSecret’);
$res = json_decode($res, true);
$token = $res[‘access_token’];
// 注意:這裡需要將獲取到的token緩存起來(或寫到數據庫中)
// 不能頻繁的訪問,每日有次數限制
// 通過此接口返回的token的有效期目前為2小時。令牌失效後,JS-SDK也就不能用了。
// 因此,這裡將token值緩存1小時,比2小時小。緩存失效後,再從接口獲取新的token,這樣
// 就可以避免token失效。
// S()是ThinkPhp的緩存函數,如果使用的是不ThinkPhp框架,可以使用你的緩存函數,或使用數據庫來保存。
S(‘access_token’, $token, 3600);
}
return $token;
}
注意:返回的access_token長度至少要留夠512位元組。接口返回值:
{“access_token”:”ACCESS_TOKEN”,”expires_in”:7200}
{“access_token”:”vdlThyTfyB0N5eMoi3n_aMFMKPuwkE0MgyGf_0h0fpzL8p_hsdUX8VGxz5oSXuq5dM69lxP9wBwN9Yzg-0kVHY33BykRC0YXZZZ-WdxEic4″,”expires_in”:7200}
獲取jsapi的ticket。jsapi_ticket是公眾號用於調用微信JS接口的臨時票據。正常情況下,jsapi_ticket的有效期為7200秒,通過access_token來獲取。
function wx_get_jsapi_ticket(){
$ticket = “”;
do{
$ticket = S(‘wx_ticket’);
if (!empty($ticket)) {
break;
}
$token = S(‘access_token’);
if (empty($token)){
wx_get_token();
}
$token = S(‘access_token’);
if (empty($token)) {
logErr(“get access token error.”);
break;
}
$url2 = sprintf(“;type=jsapi”,
$token);
$res = file_get_contents($url2);
$res = json_decode($res, true);
$ticket = $res[‘ticket’];
// 注意:這裡需要將獲取到的ticket緩存起來(或寫到數據庫中)
// ticket和token一樣,不能頻繁的訪問接口來獲取,在每次獲取後,我們把它保存起來。
S(‘wx_ticket’, $ticket, 3600);
}while(0);
return $ticket;
}
接口返回值:
{“errcode”:0,”errmsg”:”ok”,”ticket”:”sM4AOVdWfPE4DxkXGEs8VMKv7FMCPm-I98-klC6SO3Q3AwzxqljYWtzTCxIH9hDOXZCo9cgfHI6kwbe_YWtOQg”,”expires_in”:7200}
簽名,將jsapi_ticket、noncestr、timestamp、分享的url按字母順序連接起來,進行sha1簽名。
noncestr是你設置的任意字符串。
timestamp為時間戳。
$timestamp = time();
$wxnonceStr = “任意字符串”;
$wxticket = wx_get_jsapi_ticket();
$wxOri = sprintf(“jsapi_ticket=%snoncestr=%stimestamp=%surl=%s”,
$wxticket, $wxnonceStr, $timestamp,
‘要分享的url(從http開始,如果有參數,包含參數)’
);
$wxSha1 = sha1($wxOri);
php怎麼判斷密碼的強度實例詳解
1、php頁面
$score =
0;if(!empty($_GET[‘value’])){ //接收的值 $str = $_GET[‘value’];} else{ $str = ”;}if(preg_match(“/[0-9]+/”,$str)){ $score ++;}if(preg_match(“/[0-9]{3,}/”,$str)){ $score ++;}if(preg_match(“/[a-z]+/”,$str)){ $score ++;}if(preg_match(“/[a-z]{3,}/”,$str)){ $score ++;}if(preg_match(“/[A-Z]+/”,$str)){ $score ++;}if(preg_match(“/[A-Z]{3,}/”,$str)){ $score ++;}if(preg_match(“/[_|\-|+|=|*|!|@|#|$|%|^||(|)]+/”,$str)){ $score +=
2;}if(preg_match(“/[_|\-|+|=|*|!|@|#|$|%|^||(|)]{3,}/”,$str)){ $score ++
;}if(strlen($str)
= 10){ $score ++;}echo $score;exit;
二、html頁面
table cellspacing=”0″ cellpadding=”0″trtd輸入密碼:/tdtd colspan=”4″input type=”password” value=”” name=”newpwd” onblur=”getPassword();” //trtrtd密碼強度:/tdtd id=”idSM1″ align=”middle” width=”20%”span style=”height:0px;
line-height:0px;”
/spanspanid=”idSMT1″ style=”DISPLAY:
none”弱/span/tdtd id=”idSM2″ style=”BORDER-LEFT:
#fff 1px solid” align=”middle” width=”20%”span style=”height:0px;
line-height:0px;”
/spanspan id=”idSMT0″ style=”DISPLAY:inline;
FONT-WEIGHT: normal; COLOR: #666″無/spanspan id=”idSMT2″ style=”DISPLAY:
none”中等/span/tdtd id=”idSM3″ style=”BORDER-LEFT:
#fff 1px solid” align=”middle” width=”20%”span style=”height:0px;
line-height:0px;”
/spanspan id=”idSMT3″ style=”DISPLAY:
none”強/span/tdtd id=”idSM4″ style=”BORDER-LEFT:
#fff 1px solid” align=”middle” width=”20%”
span style=”height:0px;
line-height:0px;”
/spanspan id=”idSMT4″ style=”DISPLAY:
none”極好/span/td/tr/table
三、js
scriptfunction getPassword(){ var value
= $(“input[name=’newpwd’]”).attr(‘value’); $.get(‘index.php?r=account/testpwd’,{value:value},function(data){ if(data=1
data=3){ $(‘#idSM1’).attr(‘class’,’pwdChkCon1′); //弱 $(‘#idSM2’).attr(‘class’,’pwdChkCon0′); $(‘#idSM3’).attr(‘class’,’pwdChkCon0′); $(‘#idSM4’).attr(‘class’,’pwdChkCon0′); $(‘#idSMT1’).show(); $(‘#idSMT0’).hide(); $(‘#idSMT2’).hide(); $(‘#idSMT3’).hide(); $(‘#idSMT4’).hide(); } else if(data=4
data=6){ //中等 $(‘#idSM1’).attr(‘class’,’pwdChkCon2′); $(‘#idSM2’).attr(‘class’,’pwdChkCon2′); $(‘#idSM3’).attr(‘class’,’pwdChkCon0′); $(‘#idSM4’).attr(‘class’,’pwdChkCon0′); $(‘#idSMT0’).hide(); $(‘#idSMT1’).hide(); $(‘#idSMT2’).show(); $(‘#idSMT3’).hide(); $(‘#idSMT4’).hide(); } else if(data=7
data=8){ //強 $(‘#idSM1’).attr(‘class’,’pwdChkCon3′); $(‘#idSM2’).attr(‘class’,’pwdChkCon3′); $(‘#idSM3’).attr(‘class’,’pwdChkCon3′); $(‘#idSM4’).attr(‘class’,’pwdChkCon0′); $(‘#idSMT0’).hide(); $(‘#idSMT1’).hide(); $(‘#idSMT2’).hide(); $(‘#idSMT3’).show(); $(‘#idSMT4’).hide(); } else if(data=9
data=10){ //極好 $(‘#idSM1’).attr(‘class’,’pwdChkCon4′); $(‘#idSM2’).attr(‘class’,’pwdChkCon4′); $(‘#idSM3’).attr(‘class’,’pwdChkCon4′); $(‘#idSM4’).attr(‘class’,’pwdChkCon4′); $(‘#idSMT0’).hide(); $(‘#idSMT1’).hide(); $(‘#idSMT2’).hide(); $(‘#idSMT3’).hide(); $(‘#idSMT4’).show(); } });
}
四、css
style.pwdChkCon0 {BORDER-RIGHT: #bebebe 1px solid;BORDER-BOTTOM: #bebebe 1px solid;BACKGROUND-COLOR: #ebebeb;TEXT-ALIGN: center;}.pwdChkCon1 {BORDER-RIGHT: #bb2b2b 1px solid;BORDER-BOTTOM: #bb2b2b 1px solid;BACKGROUND-COLOR: #ff4545;TEXT-ALIGN: center;}.pwdChkCon2 {BORDER-RIGHT: #e9ae10 1px solid;BORDER-BOTTOM: #e9ae10 1px solid;BACKGROUND-COLOR: #ffd35e;TEXT-ALIGN: center;}.pwdChkCon3 {BORDER-RIGHT: #267a12 1px solid;BORDER-BOTTOM: #267a12 1px solid;BACKGROUND-COLOR: #3abb1c;TEXT-ALIGN: center;}.pwdChkCon4 {BORDER-RIGHT: #267a12 1px solid;BORDER-BOTTOM: #267a12 1px solid;BACKGROUND-COLOR: #3abb1c;TEXT-ALIGN: center;}
/style
(PS:本源代碼來源於互聯網)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/153708.html