如何处理加密算法中的新行?
How to deal with new lines in encryption algorithm?
我正在将 ASP 加密算法(在我的一个应用程序中使用)转换为 PowerShell,以便加密一组 100 个随机字符串。在研究我的脚本的输出时,我看到生成了大约 120 行文本。原始应用程序将加密的字符串插入到 SQL 数据库中。我将手动将我的加密字符串添加到同一个数据库中。
问:我的算法是否引入换行符?为什么我会收到超过 100 行的输出?这些加密的字符串仍然可以添加到 SQL 数据库中吗?
原ASP函数:
Function Encrypt(pwd)
Dim key
key = "_-#{[}]|!`~>(-<+"
Dim strRet
Dim nStrLen
nStrLen = Len(pwd)
Dim n
For n = 1 To nStrLen
strRet = strRet & Chr(Asc(Mid(pwd, n, 1)) Xor Asc(Mid(key, n, 1)))
Next
Encrypt = strRet
End Function
我的 PowerShell 实现:
function Encrypt ([string]$unencryptedPassword)
{
$key = "_-#{[}]|!`~>(-<+";
$nStrLen = $unencryptedPassword.length;
For ($n=0; $n -lt $nStrLen; $n++)
{
$tmpPWD = $unencryptedPassword.substring($n,1);
$tmpKEY = $key.substring($n,1);
$tmpPWD = [byte][char]$tmpPWD;
$tmpKEY = [byte][char]$tmpKEY;
$tmpResult = $tmpResult + [char]($tmpPWD -bxor $tmpKEY);
}
return $tmpResult;
}
如有任何帮助,我们将不胜感激。请询问是否需要更多信息。
Is my algorithm introducing new line characters?
您的算法产生 字节 。这些字节中的一些完全有可能代表 ASCII 换行符或其他控制字符。您是否可以 "manually" 将它们插入 SQL 取决于您的操作方式。
我正在将 ASP 加密算法(在我的一个应用程序中使用)转换为 PowerShell,以便加密一组 100 个随机字符串。在研究我的脚本的输出时,我看到生成了大约 120 行文本。原始应用程序将加密的字符串插入到 SQL 数据库中。我将手动将我的加密字符串添加到同一个数据库中。
问:我的算法是否引入换行符?为什么我会收到超过 100 行的输出?这些加密的字符串仍然可以添加到 SQL 数据库中吗?
原ASP函数:
Function Encrypt(pwd)
Dim key
key = "_-#{[}]|!`~>(-<+"
Dim strRet
Dim nStrLen
nStrLen = Len(pwd)
Dim n
For n = 1 To nStrLen
strRet = strRet & Chr(Asc(Mid(pwd, n, 1)) Xor Asc(Mid(key, n, 1)))
Next
Encrypt = strRet
End Function
我的 PowerShell 实现:
function Encrypt ([string]$unencryptedPassword)
{
$key = "_-#{[}]|!`~>(-<+";
$nStrLen = $unencryptedPassword.length;
For ($n=0; $n -lt $nStrLen; $n++)
{
$tmpPWD = $unencryptedPassword.substring($n,1);
$tmpKEY = $key.substring($n,1);
$tmpPWD = [byte][char]$tmpPWD;
$tmpKEY = [byte][char]$tmpKEY;
$tmpResult = $tmpResult + [char]($tmpPWD -bxor $tmpKEY);
}
return $tmpResult;
}
如有任何帮助,我们将不胜感激。请询问是否需要更多信息。
Is my algorithm introducing new line characters?
您的算法产生 字节 。这些字节中的一些完全有可能代表 ASCII 换行符或其他控制字符。您是否可以 "manually" 将它们插入 SQL 取决于您的操作方式。