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/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

发表回复

登录后才能评论