swift
obfuscation.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2018 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #include "misc/obfuscation.h"
5 
6 #include <QStringBuilder>
7 
8 #include "simplecrypt/simplecrypt.h"
9 
10 namespace swift::misc
11 {
12  QString CObfuscation::decode(const QString &inString, bool trimmed)
13  {
14  if (!inString.startsWith(prefix())) { return trimmed ? inString.trimmed() : inString; }
15  if (inString.length() == prefix().length()) { return QString(); }
16  SimpleCrypt simpleCrypt(Key);
17  const QString decoded = simpleCrypt.decryptToString(inString.mid(prefix().length()));
18  return trimmed ? decoded.trimmed() : decoded;
19  }
20 
21  QString CObfuscation::encode(const QString &inString, bool trimmed)
22  {
23  SimpleCrypt simpleCrypt(Key);
24  const QString encrypted = simpleCrypt.encryptToString(trimmed ? inString.trimmed() : inString);
25  return prefix() % encrypted;
26  }
27 
28  const QString &CObfuscation::prefix()
29  {
30  static const QString obfuscated("OBF:");
31  return obfuscated;
32  }
33 } // namespace swift::misc
static QString decode(const QString &inString, bool trimmed=true)
Decode string if it has the prefix, otherwise do nothing with it.
Definition: obfuscation.cpp:12
static const QString & prefix()
Prefix to be used with obfuscated string.
Definition: obfuscation.cpp:28
static QString encode(const QString &inString, bool trimmed=true)
Encode string and return with prefix.
Definition: obfuscation.cpp:21
Free functions in swift::misc.