ASP用于BASE64的编解码

ASP环境下的图片与Base64在线互转小工具(含前后端源码) 这个工具专为ASP环境设计,能直接在IIS服务器上运行,不用数据库也不依赖外部组件。上传一张图片,立刻生成对应的Base64字符串,复制就能用在HTML的src里或CSS背景中;反过来,把一段Base64编码粘贴进去,点一下就能还原成图片文件并下载保存。前端页面用HTML+CSS+JS搭建,操作直观,支持常见图片格式(JPG、PNG、GIF等)。后端核心逻辑写在index.asp里,结构清晰,适合开发者快速理解或二次修改。配套有使用说明页_ad_ShuoMing.html,yuanma.bat双击可直接查看 阅读详情

我以前收藏的一段代码,ASP的是用于BASE64的编解码的:
<%
sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
sBASE_64_CHARACTERS = strUnicode2Ansi(sBASE_64_CHARACTERS)

'计算unicode字符串的Ansi编码的长度
Function strUnicodeLen(asContents)
 '计算unicode字符串的Ansi编码的长度
 asContents1="a"&asContents
 len1=len(asContents1)
 k=0
 for i=1 to len1
  asc1=asc(mid(asContents1,i,1))
  if asc1<0 then asc1=65536+asc1
  if asc1>255 then
   k=k+2
  else
   k=k+1
  end if
 next
 strUnicodeLen=k-1
End Function

'将Unicode编码的字符串,转换成Ansi编码的字符串
Function strUnicode2Ansi(asContents)
 '将Unicode编码的字符串,转换成Ansi编码的字符串
 strUnicode2Ansi=""
 len1=len(asContents)
 for i=1 to len1
  varchar=mid(asContents,i,1)
  varasc=asc(varchar)
  if varasc<0 then varasc=varasc+65536
  if varasc>255 then
   varHex=Hex(varasc)
   varlow=left(varHex,2)
   varhigh=right(varHex,2)
   strUnicode2Ansi=strUnicode2Ansi & chrb("&H" & varlow ) & chrb("&H" & varhigh )
  else
   strUnicode2Ansi=strUnicode2Ansi & chrb(varasc)
  end if
 next
End function

'将Ansi编码的字符串,转换成Unicode编码的字符串
Function strAnsi2Unicode(asContents)
 '将Ansi编码的字符串,转换成Unicode编码的字符串
 strAnsi2Unicode = ""
 len1=lenb(asContents)
 if len1=0 then exit function
 for i=1 to len1
  varchar=midb(asContents,i,1)
  varasc=ascb(varchar)
  if varasc > 127 then
   strAnsi2Unicode = strAnsi2Unicode & chr(ascw(midb(asContents,i+1,1) & varchar))
   i=i+1
  else
   strAnsi2Unicode = strAnsi2Unicode & chr(varasc)
  end if
 next
End function

'将Ansi编码的字符串进行Base64编码
Function Base64encode(asContents)
 '将Ansi编码的字符串进行Base64编码
 'asContents应当是ANSI编码的字符串(二进制的字符串也可以)
 Dim lnPosition
 Dim lsResult
 Dim Char1
 Dim Char2
 Dim Char3
 Dim Char4
 Dim Byte1
 Dim Byte2
 Dim Byte3
 Dim SaveBits1
 Dim SaveBits2
 Dim lsGroupBinary
 Dim lsGroup64
 Dim m4,len1,len2

 len1=Lenb(asContents)
 if len1<1 then
  Base64encode=""
  exit Function
 end if

 m3=Len1 Mod 3
 If M3 > 0 Then asContents = asContents & String(3-M3, chrb(0))
 '补足位数是为了便于计算
 IF m3 > 0 THEN
  len1=len1+(3-m3)
  len2=len1-3
 else
  len2=len1
 end if
 lsResult = ""
 For lnPosition = 1 To len2 Step 3
  lsGroup64 = ""
  lsGroupBinary = Midb(asContents, lnPosition, 3)
  
  Byte1 = Ascb(Midb(lsGroupBinary, 1, 1)): SaveBits1 = Byte1 And 3
  Byte2 = Ascb(Midb(lsGroupBinary, 2, 1)): SaveBits2 = Byte2 And 15
  Byte3 = Ascb(Midb(lsGroupBinary, 3, 1))
  
  Char1 = Midb(sBASE_64_CHARACTERS, ((Byte1 And 252) / 4) + 1, 1)
  Char2 = Midb(sBASE_64_CHARACTERS, (((Byte2 And 240) / 16) Or (SaveBits1 * 16) And &HFF) + 1, 1)
  Char3 = Midb(sBASE_64_CHARACTERS, (((Byte3 And 192) / 64) Or (SaveBits2 * 4) And &HFF) + 1, 1)
  Char4 = Midb(sBASE_64_CHARACTERS, (Byte3 And 63) + 1, 1)
  lsGroup64 = Char1 & Char2 & Char3 & Char4
   
  lsResult = lsResult & lsGroup64
 Next
  
 '处理最后剩余的几个字符
 if M3 > 0 then
  lsGroup64 = ""
  lsGroupBinary = Midb(asContents, len2+1, 3)
  
  Byte1 = Ascb(Midb(lsGroupBinary, 1, 1)): SaveBits1 = Byte1 And 3
  Byte2 = Ascb(Midb(lsGroupBinary, 2, 1)): SaveBits2 = Byte2 And 15
  Byte3 = Ascb(Midb(lsGroupBinary, 3, 1))
  
  Char1 = Midb(sBASE_64_CHARACTERS, ((Byte1 And 252) / 4) + 1, 1)
  Char2 = Midb(sBASE_64_CHARACTERS, (((Byte2 And 240) / 16) Or (SaveBits1 * 16) And &HFF) + 1, 1)
  Char3 = Midb(sBASE_64_CHARACTERS, (((Byte3 And 192) / 64) Or (SaveBits2 * 4) And &HFF) + 1, 1)
   
  if M3=1 then
   lsGroup64 = Char1 & Char2 & ChrB(61) & ChrB(61) '用=号补足位数
  else
   lsGroup64 = Char1 & Char2 & Char3 & ChrB(61) '用=号补足位数
  end if
   
  lsResult = lsResult & lsGroup64
 end if
  
 Base64encode = lsResult  
End Function

'将Base64编码字符串转换成Ansi编码的字符串
Function Base64decode(asContents)
 '将Base64编码字符串转换成Ansi编码的字符串
 'asContents应当也是ANSI编码的字符串(二进制的字符串也可以)
 Dim lsResult
 Dim lnPosition
 Dim lsGroup64, lsGroupBinary
 Dim Char1, Char2, Char3, Char4
 Dim Byte1, Byte2, Byte3
 Dim M4,len1,len2
 
 len1= Lenb(asContents)
 M4 = len1 Mod 4
 
 if len1 < 1 or M4 > 0 then
  '字符串长度应当是4的倍数
  Base64decode = ""
  exit Function
 end if

 '判断最后一位是不是 = 号
 '判断倒数第二位是不是 = 号
 '这里m4表示最后剩余的需要单独处理的字符个数
 if midb(asContents, len1, 1) = chrb(61) then m4=3
 if midb(asContents, len1-1, 1) = chrb(61) then m4=2
 
 if m4 = 0 then
  len2=len1
 else
  len2=len1-4
 end if

 For lnPosition = 1 To Len2 Step 4
  lsGroupBinary = ""
  lsGroup64 = Midb(asContents, lnPosition, 4)
  Char1 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 1, 1)) - 1
  Char2 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 2, 1)) - 1
  Char3 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 3, 1)) - 1
  Char4 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 4, 1)) - 1
  Byte1 = Chrb(((Char2 And 48) / 16) Or (Char1 * 4) And &HFF)
  Byte2 = lsGroupBinary & Chrb(((Char3 And 60) / 4) Or (Char2 * 16) And &HFF)
  Byte3 = Chrb((((Char3 And 3) * 64) And &HFF) Or (Char4 And 63))
  lsGroupBinary = Byte1 & Byte2 & Byte3

  lsResult = lsResult & lsGroupBinary
 Next

 '处理最后剩余的几个字符
 if M4 > 0 then
  lsGroupBinary = ""
  lsGroup64 = Midb(asContents, len2+1, m4) & chrB(65) 'chr(65)=A,转换成值为0
  if M4=2 then '补足4位,是为了便于计算
   lsGroup64 = lsGroup64 & chrB(65)
  end if
  Char1 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 1, 1)) - 1
  Char2 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 2, 1)) - 1
  Char3 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 3, 1)) - 1
  Char4 = InStrb(sBASE_64_CHARACTERS, Midb(lsGroup64, 4, 1)) - 1
  Byte1 = Chrb(((Char2 And 48) / 16) Or (Char1 * 4) And &HFF)
  Byte2 = lsGroupBinary & Chrb(((Char3 And 60) / 4) Or (Char2 * 16) And &HFF)
  Byte3 = Chrb((((Char3 And 3) * 64) And &HFF) Or (Char4 And 63))

  if M4=2 then
   lsGroupBinary = Byte1
  elseif M4=3 then
   lsGroupBinary = Byte1 & Byte2
  end if

  lsResult = lsResult & lsGroupBinary
 end if

 Base64decode = lsResult

End Function


'---------------------------------------------------------------------------------
response.write strUnicode2Ansi("abc我们d我们") & "<hr>"
response.write strAnsi2Unicode(Base64encode(strUnicode2Ansi("abc我们d我们"))) & "<hr>"

response.write strAnsi2Unicode(Base64decode(Base64encode(strUnicode2Ansi("abc我们d我们")))) & "<hr>"

sdecode="Sm1haWy1xNb30qqyzsr9wdCx7Q0K1/fV36O6dG9ueTEzMiAgMjAwMC0wNS0yNNXixqq45bz+sbvU"
sdecode=sdecode & "xLbBPT0xNTK0zg0KIA0KDQqhoaGh1/fV3yBb0ru/y10gDQqhoaGhIA0KoaGhoQ0KoaGhocu1w/ej"
sdecode=sdecode & "urj8tuC1xNDFz6LH67LOv7xKbWFpbMu1w/ejrM7Sz+vV4tLRvq3X47m708O1xMHLoaMNCqGhoaEN"

response.write replace(strAnsi2Unicode(Base64decode(strUnicode2Ansi(sdecode))),chr(13)&chr(10),"<br>")

response.end


%>

ASP代码加密工具版本6的ASPEncode.DLL ASP代码加密工具版本6的ASPEncode.DLL。很多人下载了ASP代码加密工具版本6破解版用来加密ASP代码,用但是发现加密完的代码无法使用。只要将此dll上传到服务器并注册以后,ASP代码加密工具版本6破解版加密的代码就可以正常运行了。 立即下载

相关推荐

Asp base64转换

绝对好用的Asp + Js BASE64转换,汉英都正常

asp base64加密的函数 测试可用,秒杀全网

可能asp真的老了,最近要找一个asp版的base64加密方式,竟然全网搜到的代码测试都没用,其实也不是说没用,就是虽然用网上的这些asp版的函数进行base64编码了,但是在前端无法解开。最后在google上才找到答案,一下是我修改测试可用了的。直接调用Base64Encode即可。 为什么要搞这个?是因为有个老古董网站是GBK的,而json传输中文总是会乱码,因此不得已用base64转码来规避这个问题。前端js解码简单,找到特征字符串然后解密替换即可。主要代码如下: 以上是假设返回....

两天打鱼三天晒网 1451

asp_base64 函数

asp_base64 函数 asp_base64 函数 asp_base64 函数

asp Base64 编码和解码

【代码】asp Base64 编码和解码。

lizhihua0625的博客 630

ASP BASE64加解密(亲测可用)

之前脚本之家小编已经为大家分享了了几个asp BASE64加解密函数代码,不过实际用的过程中都有这样或那样的问题,现在重新整理一个

内存优化--LOGBACK导致内存告警

一.故事背景 由于开辟新市场需要,开发了新的项部署在海外平台,其中最消耗内存的功能是消费kafka消息(最开始预计一天有1千万的量),部署完之后运行一段时间发现出现内存告警问题。 二.分析问题 出现内存告警,(新项目是低配置机器 2C4G * 2台)第一个念头是去查看堆空间设置的情况,看到jvm启动命令中堆空间都是直接指定大小,说明问题不是出在堆空间 -Xmx3g -Xms3g 先不管这些,去查看总的内存使用情况,发现总的内存空间使用将近有92% = 3.68G,那么这多出来使用的0.6

qq_33199919的博客 6052

用asp实现base64编码

function bin2dec(binStr) towPow=1 numLen=len(binStr) bin2Dec=0 decPos=numLen do while decPos>0 cChar=mid(binStr,decPos,1) nChar=Cint(cChar) bin2Dec=bin2Dec+nChar*towPow towPow=towPow*2 decPos=decPos-1

fengzheng 1567

UE5 Compute Shader实战:从基础到高级应用全解析

本文全面解析了在UE5中应用Compute Shader的完整流程,从基础概念、环境搭建到核心机制与实战应用。详细介绍了如何通过参数传递、线程派遣与数据读写实现GPU并行计算,并深入探讨了GPU粒子模拟、性能优化及结合光线追踪等高级应用场景,为开发者掌握UE5高性能计算提供系统指导。

yhn45678901的博客 501

asp base64 解码

Function Base64Decode(ByVal base64String) 'rfc1521 '1999 Antonin Foller, Motobit Software, http://Motobit.cz Const Base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ...

chlung 744

STM32F103串口接收中断:USART_IT_IDLE和USART_IT_RXNE区别

2:如果是大于1个byte的数据,在不用DMA的情况下,同时使能USART_IT_RXNE,USART_IT_IDLE中断,每收到一个字节在中断中把数据存到缓存中,待收到USART_IT_IDLE中断时,收完整帧数据,然后再解析处理数据。比如:如上图在初始化时,同时开启了两个中断,如果传送8个字节的数据,就会产生8个USART_IT_RXNE,和1个USART_IT_IDLE中断。(如果接收到数据,在1个byte的时间内,没有收到新数据,就认为是数据传送完成,产生空闲USART_IT_IDLE中断)

weixin_66299220的博客 2401

基于Dify Agent构建智能客服:攻克知识库查询、多轮对话、安全鉴权与人机协同

基于Dify Agent构建智能客服,并将知识库等核心能力工具化,再通过Chatflow进行流程编排,是一种强大且灵活的策略。它不仅解决了当前AI客服面临的诸多核心挑战,也为未来的功能扩展和智能化升级打下了坚实的基础。希望本文能为您在构建高效、智能的AI客服系统之路上提供有益的参考!dify实验室基于LLMOps平台-Dify的一站式学习平台。包含不限于:Dify工作流案例、DSL文件分享、模型接入、Dify交流讨论等各类资源分享。关注我,获取Dify相关资源(DSL、token、交流群等)。

同名公众号:dify实验室 3742

ASP对base64编码解码程序

针对邮件退信,内容进行解码!网上收集,具体出处不详!                                                                     sBASE_64_CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" sBASE_64_CHAR

griefforyou的程序人生 1214

昆仑通态屏幕制作(连载1)---接触篇

写在开始 背景:最近出了做QT、LORA和4G,还做了一个屏幕。以前做了一个迪文的串口屏幕,发现网上的教程很多,所以连载就不更新了,并且迪文屏幕的设置什么的比较简单,应该从网上都能找到对应的教程。而现在用的昆仑通态的屏幕属于嵌入式屏幕,至于为啥叫嵌入式,也不是很明白,反正就是需要用这个屏幕,嵌入式不嵌入式不重要了。重要的是能用,并且能实现串口屏幕不能实现的功能。所以选定昆仑通态的一款屏幕。 文章语言:我比较习惯用比较糙的语言介绍做的东西,有时候不太准备,但是为了方便理解,还请大家谅解。用...

weixin_45426095的博客 6737

Z-Image-Turbo_Sugar Lora在.NET生态中的调用:使用ML.NET构建C#图像生成客户端

本文介绍了如何在星图GPU平台上自动化部署Z-Image-Turbo_Sugar脸部Lora镜像,并利用ML.NET构建C#图像生成客户端。通过HTTP API调用,开发者可在熟悉的.NET生态中轻松集成该模型,快速实现如电商配图、内容创作等场景的AI图片生成功能。

weixin_32921023的博客 197

手把手教你用FPGA+AD9822搭建300DPI的CIS高速图像采集系统(附时序调试心得)

本文详细介绍了如何利用FPGA作为核心控制器,结合AD9822三通道采样保持放大器/ADC,构建一套完整的300DPI CIS高速图像采集系统。内容涵盖从CIS传感器驱动时序、AD9822寄存器配置与协同调试,到采用千兆以太网替代USB实现稳定高速数据传输的完整实战指南,并分享了关键的时序调试心得与系统集成经验。

weixin_29306261的博客 134

双内核架构 Xenomai 4 安装教程

双内核 Xenomai 4 安装指南

^_^ 4470

NETCore.Encrypt进阶篇:Base64编码解码与ASP.NET MachineKey密钥生成实战

NETCore.Encrypt 是一款 .NET 加密解密工具,内置 AES、DES、RSA、MD5、SHA1/256/384/512 等常用算法。本文聚焦两个高频实战场景:用一行代码完成 **Base64 编码解码**,以及快速生成 ASP.NET 的 **MachineKey 密钥**(decryptionKey 与 validationKey),帮助你在 Web 项目中少走弯路。📦 ##

gitblog_00421的博客 706

DA14531之搭建开发环境

DA14531之搭建开发环境

hejinwu1314的博客 1779

BASE64编码解码

BASE64,是一种公共编解码算法 大家都是遵循同一种算法来对字节数组进行编解码,所以可以通用. java在很多公共的框架中都有BASE64的实现. 可以用: Apache Commons Codec 的实现 &lt;!-- https://mvnrepository.com/artifact/commons-codec/commons-codec --&gt; &lt;depend...

y41992910的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Url的Base64编码以及解码

Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。我们可以在发送前将“+”,“/”,“=”替换成URL不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码。在ASP.NET应用程序中,可以使用HttpUtility工具类结合Convert类来实现对URl进行Base64编码以...

weixin_30772261的博客 641

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

base64

base64编解码原理与函数 以及qp编码:http://www.loveunix.net/viewarticle.php?id=21863Base64 实现。名家手笔:http://blog.youkuaiyun.com/longaway/archive/2005/11/22/535024.aspxMIME之Base64编解码:http://www.opendevices.net/pri

vogel的专栏 865

Asp.net将图片转为Base64编码

1 protected void Page_Load(object sender, EventArgs e) 2 { 3 Image img = new Bitmap(Server.MapPath("/Libs/imgs/btn.png")); 4 Response.Write("<img src='data:...

weixin_30482181的博客 636

纠结的一天 —— 由base64编解码与加号、空格引起

2014年3月14日,星期五, 23点22分 忙碌、焦头烂额、充实而又幸福的一天! 写在篇头的话: 许多时候,别人分享的经验(成功或失败),个中滋味,听者很难真正体会,直到自己遇到的那一瞬间,才会泪如雨下,幡然醒悟...... 今天将之前写的MATLAB版本的程序,用C#重新实现。原因嘛,不得不发句牢骚,MATLAB打包成exe后,启动时间都要几十秒甚至一两分钟,真是急死人的节奏啊!(每次...

weixin_33796177的博客 210

Base64编码

奇妙的Base64编码 http://www.luocong.com/articles/show_article.asp?Article_ID=17 Other reference website: 1.   Base64编码原理与实现  http://www.blogjava.net/nokiaguy/archive/2009/05/29/278938.html 2.   浅谈Base6

zxg519的专栏 490

常见的加密和解密算法—BASE64

一、BASE64加密和解密概述   Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常...

weixin_34318956的博客 467

Web安全入门实战:从HTTP响应头到Base64解码的CTF闯关解析

Web安全是网络安全领域的基础,其核心在于理解客户端与服务器之间的通信协议与数据交互原理。HTTP协议作为Web通信的基石,定义了请求与响应的标准格式,其中响应头(Response Headers)承载了服务器返回的元数据信息,如状态码、内容类型及自定义字段,这些往往是隐藏关键线索的常见位置。掌握信息搜集技术,能帮助开发者深入理解应用架构、排查潜在漏洞。在实际的CTF(Capture The Flag)夺旗赛或安全演练中,挑战者常需从网页前端代码、网络流量中寻找隐蔽信息,并运用Base64等编码技术进行数据

chulilang8944的博客 433
上一篇: C#入门代码集
下一篇: 用C#生成随机中文汉字验证码的基本原理
Softeer
博客等级 码龄22年 10粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值