php調永javasm4的簡單介紹

本文目錄一覽:

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-15 03:22
下一篇 2024-11-15 03:22

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python櫻花樹代碼簡單

    本文將對Python櫻花樹代碼進行詳細的闡述和講解,幫助讀者更好地理解該代碼的實現方法。 一、簡介 櫻花樹是一種圖形效果,它的實現方法比較簡單。Python中可以通過turtle這…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python大神作品:讓編程變得更加簡單

    Python作為一種高級的解釋性編程語言,一直被廣泛地運用於各個領域,從Web開發、遊戲開發到人工智能,Python都扮演着重要的角色。Python的代碼簡潔明了,易於閱讀和維護,…

    編程 2025-04-28
  • 用Python實現簡單爬蟲程序

    在當今時代,互聯網上的信息量是爆炸式增長的,其中很多信息可以被利用。對於數據分析、數據挖掘或者其他一些需要大量數據的任務,我們可以使用爬蟲技術從各個網站獲取需要的信息。而Pytho…

    編程 2025-04-28
  • 如何製作一個簡單的換裝遊戲

    本文將從以下幾個方面,為大家介紹如何製作一個簡單的換裝遊戲: 1. 遊戲需求和界面設計 2. 使用HTML、CSS和JavaScript開發遊戲 3. 實現遊戲的基本功能:拖拽交互…

    編程 2025-04-27

發表回復

登錄後才能評論