zoukankan      html  css  js  c++  java
  • Tmall发送码asp验证sing(自有码开发)

    <%
    '
    '查询通知应答类
    '============================================================================
    'api说明:
    'getKey()/setKey(),获取/设置密钥
    'getParameter()/setParameter(),获取/设置参数值
    'getAllParameters(),获取所有参数
    'isTenpaySign(),是否财付通签名,true:是 false:否
    'getDebugInfo(),获取debug信息
    '
    '============================================================================
    '


    Class TmallResponseHandler

    '密钥
    Private key

    '应答的参数
    Private parameters

    'debug信息
    Private debugInfo

    '初始构造函数
    Private Sub class_initialize()
    key = ""
    Set parameters = Server.CreateObject("Scripting.Dictionary")
    debugInfo = ""

    parameters.RemoveAll
    'GET
    For Each k In Request.QueryString
    v = Request.QueryString(k)
    setParameter k,v
    Next

    'POST
    For Each k In Request.Form
    v = Request(k)
    setParameter k,v
    Next

    End Sub

    '获取密钥
    Public Function getKey()
    getKey = key
    End Function

    '设置密钥
    Public Function setKey(key_)
    key = key_
    End Function

    '获取参数值
    Public Function getParameter(parameter)
    getParameter = parameters.Item(parameter)
    End Function

    '设置参数值
    Public Sub setParameter(parameter, parameterValue)
    If parameters.Exists(parameter) = True Then
    parameters.Remove(parameter)
    End If
    parameters.Add parameter, parameterValue
    End Sub

    '获取所有请求的参数,返回Scripting.Dictionary
    Public Function getAllParameters()
    getAllParameters = parameters
    End Function

    '是否Tmall签名
    'true:是 false:否
    Public Function isTamllSign()

    timestamp = getParameter("timestamp")
    order_id = getParameter("order_id")
    mobile = getParameter("mobile")
    num = getParameter("num")
    method = getParameter("method")
    taobao_sid = getParameter("taobao_sid")
    seller_nick = getParameter("seller_nick")
    item_title = getParameter("item_title")
    send_type = getParameter("send_type")
    consume_type = getParameter("consume_type")
    sms_template = getParameter("sms_template")
    valid_start = getParameter("valid_start")
    valid_ends = getParameter("valid_ends")
    num_iid = getParameter("num_iid")
    outer_iid = getParameter("outer_iid")
    sub_outer_iid = getParameter("sub_outer_iid")
    sku_properties = getParameter("sku_properties")
    token = getParameter("token")
    total_fee = getParameter("total_fee")
    weeks = getParameter("weeks")
    left_num = getParameter("left_num")
    'sign 不在能当道待加密的串里
    signPars = Array("consume_type="&consume_type, "item_title="&item_title, "left_num="&left_num,"method="&method, "mobile=" & mobile,"num="&num, "num_iid="&num_iid, "order_id="&order_id,"outer_iid="&outer_iid, "seller_nick="&seller_nick, "send_type="&send_type, "sku_properties="&sku_properties , "sms_template="&sms_template, "sub_outer_iid="&sub_outer_iid,"taobao_sid="&taobao_sid, "timestamp="&timestamp, "token="&token, "total_fee="&total_fee,"valid_ends="&valid_ends, "valid_start="&valid_start, "weeks=" & weeks)

    Count=ubound(signPars)
    'For i = Count TO 0 Step -1
    ' minmax = signPars( 0 )
    ' minmaxSlot = 0
    ' For j = 1 To i
    ' mark = (signPars( j ) > minmax)
    ' If mark Then
    ' minmax = signPars( j )
    ' minmaxSlot = j
    ' End If
    ' Next
    ' If minmaxSlot <> i Then
    ' temp = signPars( minmaxSlot )
    ' signPars( minmaxSlot ) = signPars( i )
    ' signPars( i ) = temp
    ' End If
    ' Next

    For j = 0 To Count Step 1
    value = SPLIT(signPars( j ), "=")
    If value(1)<>"" then
    param= param&value(0)&value(1)
    End If
    Next

    inputkey = key&param

    Dim sign
    sign= UCase(ASP_MD5(inputkey))

    Dim tmallSign
    tmallSign = UCase(getParameter("sign"))

    'debugInfo
    debugInfo = " => sign:" & sign & " TmallSign:" & tmallSign &" md5 "&ASP_MD5(inputkey)&" md5str "&inputkey

    isTamllSign = (sign = tmallSign)

    End Function


    '获取debug信息
    Function getDebugInfo()
    getDebugInfo = debugInfo
    End Function

    End Class


    %>

  • 相关阅读:
    人类思考的基本形式
    晚上睡不者原因
    东西方哲学比较
    逻辑推理的三种方法
    锻炼自己的注意力和逻辑思维能力
    预测和复盘自己的投资策略
    概念:名与实
    没有“界定问题”会出现什么问题
    问题、联系-条条大路通罗马
    程序问题调试与医生、汽车维修师
  • 原文地址:https://www.cnblogs.com/wcLT/p/3568740.html
Copyright © 2011-2022 走看看