• 大小: 14.13MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-13
  • 语言: PHP
  • 标签: SM2  SM3  SM4  国密算法  PHP  

资源简介

SM2,SM4,SM3,SM1 PHP版算法实现,亲测可用欢迎大家下载

资源截图

代码片段和文件信息

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace testkey
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender EventArgs e)
        {
            if (KeyID.Text == ““)
            {
                System.Random random = new System.Random();
                Session[“rnd“] = rnd.Text = random.Next(0 2147483646).ToString();
            }

        }
        protected void Button1_Click(object sender EventArgs e)
        {

            //获取客户端返回的唯一ID
            Response.Write(“

“);
            Response.Write(“KeyID是:“);
            Response.Write(KeyID.Text);
            Response.Write(“

“);

            //‘获取客户端返回设置在Key中的用户身份
            Response.Write(“

“);
            Response.Write(“用户身份是:“);
            Response.Write(UserName.Text);
            Response.Write(“

“);


            //‘输出当前随机数
            Response.Write(“

“);
            Response.Write(“随机数是:“);
            Response.Write(Session[“rnd“]);
            Response.Write(“

“);

            // ‘返回用户锁对随机数的HASH结果
            Response.Write(“

“);
            Response.Write(“用户返回的签名结果是:“);
            Response.Write(return_EncData.Text);
            Response.Write(“

“);


            //这里在服务器端对返回的签名进行验证

            String strData;
            //使用与加密锁对应的公钥对数据进行签名,该公钥可以根据用户名从数据库中取得,这里使用了固定的值进行演示
            //密钥对可以是每一把都不相同,也可以是都相同,如果是不相同的可以根据用户名在从数据库中获取对应的公钥,可以根据安全性及自身具体情况而定,这里使用了一个固定的值
            //与之例子要相应的私钥是“128B2FA8BD433C6C068C8D803DFF79792A519A55171B1B650C23661D15897263”,需要将对应的私钥及公钥设置到锁中
            String PubKeyX = “D5548C7825CBB56150A3506CD57464AF8A1AE0519DFAF3C58221DC810CAF28DD“;
            String PubKeyY = “921073768FE3D59CE54E79A49445CF73FED23086537027264D168946D479533E“;

            
            //strData:要进行检验的消息
            strData = Session[“rnd“].ToString();

            Response.Write(“

“);
            Response.Write(“服务器要运算的随机数是:“);
            Response.Write(strData);
            Response.Write(“

“);


            Response.Write(“

“);
            Response.Write(“服务器验证结果是:“);

            //验证签名是否有效,如果有效就认为是合法用户,由于使用了随机数,从而实现了一次一密的高安全性,可以用于高安全性的身份验证
            if (Global.m_sm2.YtVerfiyBySoft(UserName.Text strData PubKeyX PubKeyY return_EncData.Text))
                Response.Write(“该用户是合法用户用户身份是:“ + UserName.Text);
            else
                Response.Write(“该用户不是合法用户“);

            Response.Write(“

“);



        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    1212416  2007-07-05 05:06  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\Bin\BouncyCastle.Crypto.dll

     文件    1212416  2007-07-05 05:06  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\BouncyCastle.Crypto.dll

     文件         48  2012-01-20 18:43  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\BouncyCastle.Crypto.dll.refresh

     文件      10157  2015-11-02 10:24  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\Default.aspx

     文件       3440  2015-10-29 20:11  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\Default.aspx.cs

     文件        116  2008-10-26 20:02  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\Global.asax

     文件      31432  2014-10-28 12:10  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\Global.asax.cs

     文件       9521  2018-07-18 10:19  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\SM3Digest.cs

     文件      14781  2017-11-21 21:32  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\Syunew6.js

     文件       1549  2008-12-13 17:24  身份认证例子(htm5)\SM2国密算法例子\c#\WebSit5\Web.Config

     文件        834  2012-01-26 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\.classpath

     文件       1044  2012-01-26 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\.project

     文件        503  2012-01-26 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\.settings\.jsdtscope

     文件        395  2012-01-26 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\.settings\org.eclipse.jdt.core.prefs

     文件        487  2012-01-26 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\.settings\org.eclipse.wst.common.component

     文件        345  2012-01-26 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\.settings\org.eclipse.wst.common.project.facet.core.xml

     文件         49  2012-01-26 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\.settings\org.eclipse.wst.jsdt.ui.superType.container

     文件          6  2012-01-26 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\.settings\org.eclipse.wst.jsdt.ui.superType.name

     文件      12157  2015-11-02 09:54  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\auth.jsp

     文件        207  2012-01-25 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\com\ECConstants.java

     文件       3127  2012-01-25 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\com\ECCurve.java

     文件       2917  2012-01-25 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\com\ECFieldElement.java

     文件       3724  2012-01-25 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\com\ECPoint.java

     文件        348  2012-01-25 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\com\SM2Result.java

     文件      15914  2012-01-26 21:59  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\com\SM2SM3.java

     文件         39  2012-01-22 19:31  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\err.html

     文件         39  2012-01-26 21:37  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\meta-INF\MANIFEST.MF

     文件      14781  2017-11-21 21:32  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\Syunew6.js

     文件        387  2012-01-26 22:01  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\WEB-INF\classes\com\ECConstants.class

     文件       2509  2012-01-26 22:01  身份认证例子(htm5)\SM2国密算法例子\JSP\testsm2_new\WebContent\WEB-INF\classes\com\ECCurve$Fp.class

............此处省略326个文件信息

评论

共有 条评论

相关资源