asp如何base64加密后让前端js可以顺利解密?

无·法 您的网络发生故障,内容加载失败 2022-06-01 14:34:27

网上搜下asp的base64加密,有很多代码,但是加密出来的东西用js无法解密。

 

比如用前端js的base64加密“你好”得到是“5L2g5aW9”

用网上搜的asp函数去加密得到的版本很多,但是就是没有加密结果是“5L2g5aW9”的,比如加密出来是“Pz8=”或者“xOO6ww==”或“77u/5L2g5aW9”以及“77u/77+977+977+9”,然后用js解码得到的是问号

asp网上找的base64加密的结果有:
Pz8/
Pz8=
xOO6ww==
77u/77+977+977+9

 

 

...全文
469 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcwtitxu 2022-09-02
  • 打赏
  • 举报
回复
Function StrToBase64(txt)
    Dim bytes
    With CreateObject("ADODB.Stream")
        .Mode = 3
        .Type = 2
        .Charset = "UTF-8"
        .Open
        .WriteText txt
        .Position = 0
        .Type = 1
        .Position = 3 ‘ 跳过  bom 头, 就不会带那个 77u/ 在开头
        bytes = .Read(-1)
        .Close
    End With
    With CreateObject("Microsoft.XMLDOM").createElement("TXT")  
        .dataType = "bin.base64"  
        .nodeTypedValue = bytes  
        StrToBase64 = Replace(Replace(.text, vbCr, ""), vbLf, "") 
    End With
End Function
Rimifon 2022-07-15
  • 打赏
  • 举报
回复

System.Text.Encoding.UTF8 了解下。
纯前端编码的方法是:btoa(unescape(encodeURIComponent("你好"))); 得到的结果和你的一致。

无·法 您的网络发生故障,内容加载失败! 2022-06-03
  • 打赏
  • 举报
回复 1

终于在Google上找到了解决方案。国内bd真是垃圾,一大堆搜出来不能用的。

以下是经过测试通过的base64加密函数

<%
Function Base64Encode(sText)
    Dim oXML, oNode
    Set oXML = CreateObject("Msxml2.DOMDocument.3.0")
    Set oNode = oXML.createElement("base64")
    oNode.dataType = "bin.base64"
    oNode.nodeTypedValue = Stream_StringToBinary(sText)
    Base64Encode = Replace(Replace(oNode.Text, Chr(10), ""), Chr(13), "")
    Set oNode = Nothing
    Set oXML = Nothing
End Function
Private Function Stream_StringToBinary(Text)
    Const adTypeText = 2
    Const adTypeBinary = 1
    Dim BinaryStream 'As New Stream
    Set BinaryStream = CreateObject("ADODB.Stream")
    BinaryStream.Type = adTypeText
    BinaryStream.Charset = "UTF-8"
    BinaryStream.Open
    BinaryStream.WriteText Text
    BinaryStream.position = 0
    BinaryStream.Type = adTypeBinary
    BinaryStream.position = 0
    Stream_StringToBinary = BinaryStream.Read
    Set BinaryStream = Nothing
End Function
%>

在前端对接收到的json数据批量处理还原。

//对msg中的base64编码进行解密
let reg = /77u\/([^\s]+)/g;
let result = "";   
while(result = reg.exec(msg)) {   
    msg=msg.replace("77u/" + result[1], Base64.decode(result[1]));
}

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧