基于VBS、ASP环境下的BASE64 Encode 和 Decode

本文介绍了在VBS和ASP环境下,由于特定API需求,作者自编的Base64编码和解码实现。提供的源码经过初步测试,适用于满足特定编码格式要求的场景。
摘要由CSDN通过智能技术生成

网络上有各种Base64编码、解码的例子源码,编码后虽然也可以通过大部分解码程序解码,但编码后的结果却各有不同。

转载请说明来源于:http://blog.csdn.net/aminfo/article/details/70478053

由于工作需要,在调用某API时,网络上的Base64编码结果不符合要求,于是自写一个基于VBS的BASE64 Encode和Decode,已经过初次测试。代码如下供参考:

<%'基于VBS、ASP的Base64 Encode 和 Base64 Decode
Dim sc
Set sc = CreateObject("MSScriptControl.ScriptControl")
sc.Language = "JScript"

Dim tmpStr, tmpResult
tmpStr = "··ASCII第···一次以规范标准的型态发表是在1967年,1234567890-=`~!·#¥%……—*()——+~!@#$%^&*()_+[]{};'\:""|,./<>?《》?:“|{},。/;‘、][ABCDEFGHIJKLMNOPQRSTUVWXYZ最后一次更新则是在1986年,至今为止共定义了128个字符,其中33个字符无法显示(这是以现今操作系统为依归,但在DOS模式··"
tmpResult = vbsBase64Encode(StringToByteArray(tmpStr))
Response.write "编码: " & tmpResult & "<BR>"
tmpResult = ByteArrayToString(vbsBase64Decode(tmpResult))
Response.write "解码:" & tmpResult & "<BR>"
Response.write "原串:" & tmpStr & "<BR>"

If tmpStr <> tmpResult Then
	Response.write "结果不同"
Else
	Response.write "结果相同"
End If

'编码
Function vbsBase64Encode(byteArray)
	Dim last2byte : last2byte = 3
	Dim last4byte : last4byte = 15
	Dim last6byte : last6byte = 63
	Dim lead6byte : lead6byte = 252
	Dim 
ASP代码中的Base64加密和解密工具可以通过以下步骤实现。 加密: 1. 获取要加密的字符串。 2. 将字符串转换为字节数组。 3. 使用ASP代码中的Base64编码函数对字节数组进行编码。 4. 将编码后的字符串作为加密结果返回。 解密: 1. 获取已经加密Base64字符串。 2. 使用ASP代码中的Base64解码函数将字符串解码为字节数组。 3. 将解码后的字节数组转换为字符串。 4. 将解密后的字符串作为解密结果返回。 示例代码如下: ``` ' 加密函数 Function Base64Encode(str) Dim bytes, enc ' 将字符串转换为字节数组 bytes = StrToByteArray(str) ' 使用Base64编码函数进行编码 Set enc = Server.CreateObject("System.Text.Encoding") Base64Encode = enc.EncodeBytes_64(bytes) End Function ' 解密函数 Function Base64Decode(str) Dim bytes, enc ' 使用Base64解码函数进行解码 Set enc = Server.CreateObject("System.Text.Encoding") bytes = enc.DecodeBytes_64(str) ' 将字节数组转换为字符串 Base64Decode = ByteArrayToStr(bytes) End Function ' 将字符串转换为字节数组 Function StrToByteArray(str) Dim i, bytes ReDim bytes(Len(str) - 1) For i = 1 To Len(str) bytes(i - 1) = Asc(Mid(str, i, 1)) Next StrToByteArray = bytes End Function ' 将字节数组转换为字符串 Function ByteArrayToStr(bytes) Dim i, str For i = LBound(bytes) To UBound(bytes) str = str & Chr(bytes(i)) Next ByteArrayToStr = str End Function ``` 使用时,可以调用`Base64Encode`函数进行加密,以及调用`Base64Decode`函数进行解密。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值