From 8bab94de64a1fccd389bc17d7e012b549f1b4e94 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Fri, 26 Mar 2010 17:18:02 +0000 Subject: [PATCH] added two new functions: isBase64EncodedString and isHexEncodedString for Feature #71 --- lib/core/common.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/core/common.py b/lib/core/common.py index a7c577a81..965172d49 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -913,8 +913,8 @@ def safeStringFormat(formatStr, params): return retVal -def sanitizeAsciiString(string): - return "".join(char if ord(char) < 128 else '?' for char in string) +def sanitizeAsciiString(subject): + return "".join(char if ord(char) < 128 else '?' for char in subject) def decloakToNamedTemporaryFile(filepath, name=None): retVal = NamedTemporaryFile() @@ -952,3 +952,9 @@ def posixToNtSlashes(filepath): def ntToPosixSlashes(filepath): return filepath.replace('\\', '/') + +def isBase64EncodedString(subject): + return re.match(r"\A(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?\Z", subject) is not None + +def isHexEncodedString(subject): + return re.match(r"\A[0-9a-fA-F]+\Z", subject) is not None