从工具输出解析base64 blob

本文关键字:base64 blob 工具 输出 | 更新日期: 2023-09-27 18:26:13

从工具输出解析base64编码的blob时遇到问题。我在c#中使用此正则表达式:@"(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}=|[A-Za-z 0-9+/]{3}=)"

一切都很好,直到我收到的blob看起来如下(它甚至没有一个"="。根据wikibase64字符串的末尾可以有0-2个"="符号/)我无法处理blob前后的字符串,因为它可能是多语言

正在设置计算机帐户。。。已成功设置[user-1009-1-]在域[testauto.sof]中。正在设置数据成功保存到[C:''Users''user1''AppData''Local''Temp''user-1009-1-.blob]。设置字符串(2624l字节):

阿拉伯联合酋长国MAbwBmAAAAAAAQAAAAAAAAABAAAAB4AGkAcwBoAGUAbgBnAC0AMQAwADAAOQAtADEALQAAHkAAAAAAAAAAAAAeQAAAF0APwAjAHkAWgBYADoAdwBgAGUANgB2AG8AJQBuAHkAIwBUAE4ALAAX AG0ASwA1ADMAbQBJAHcAXQBkAAAAAAALAAAAAAAAAAoAAABNAEKAUgBBAEcARQBBAFUAVABPAA8AAAAAAAABAQByAGEAZwBlAGEAdQB0AG8ALgBzAG8AZgAPAAAAAAAAAAAAAA4AAABtAGkAcgBhAGcAZQBhAHUAdABvAC4AcwBvAGYABAAAAAEEAAAAAAAFFCAAN0GKLrAxnxUyKGAThoAAAAAAAAAAAAAGgAAAFwAXABTAE8ARgAtAFEAQQAwADIALgBtAGkAcgbhAGcAzQBhAHuadABvAc4AcwBwAGYAAAAAAAAAAAAAAAAAA0AAABcAFwAMQAwAC4AMgAADwAAAAAAAAAAAA AA8AABtAGkAcgBhAGcAZQBhAHUAdABvAC4AcwBvAGYAAAAAABBTAGkAdABlAC0ATgBhAG0AZQAAABgAAAAAAAAAAAAQAZQBmAGEAdQBsAHqalQBGAGkAcgBzAHQALQBTAGkADABlAC0A TgBh

计算机帐户设置已成功完成。操作已成功完成。

有人可以帮我修复正则表达式吗?下面是我使用的正则表达式计算器:http://regex101.com/r/wP3kP9/1

从工具输出解析base64 blob

以下各项应能成功工作:

^(?!$)(?:[A-Za-z0-9+'/]{4})*(?:[A-Za-z0-9+'/]{2}==|[A-Za-z0-9+'/]{3}=)?$

regex101

根据我的理解,如果不存在=,那是因为字符串长度是4的倍数。

我还用^锚定了它。。。$并使用了m选项,因此只有base64字符串匹配。我添加了(?!$),所以空行不匹配(不能简单地将*更改为+,因为您可能想要匹配像aa==这样的短字符串)。