Update 20231016
This commit is contained in:
@@ -1,156 +1,156 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace CryptoTest
|
||||
{
|
||||
class Program
|
||||
{
|
||||
|
||||
public static byte[] StringToByteArray(string hex)
|
||||
{
|
||||
return Enumerable.Range(0, hex.Length)
|
||||
.Where(x => x % 2 == 0)
|
||||
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
|
||||
.ToArray();
|
||||
}
|
||||
public static void Main()
|
||||
{
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
string x = Base64Encode("3hba8fOumOPrMG0.G?-mkF-scGOkPwyW");
|
||||
string y = Base64Decode(x);
|
||||
|
||||
string original = "3hba8fOumOPrMG0.G?-mkF-scGOkPwyW";
|
||||
|
||||
// Create a new instance of the RijndaelManaged
|
||||
// class. This generates a new key and initialization
|
||||
// vector (IV).
|
||||
using (RijndaelManaged myRijndael = new RijndaelManaged())
|
||||
{
|
||||
|
||||
myRijndael.Key = Encoding.UTF8.GetBytes("3hba8fOumOPrMG0.G?-mkF-scGOkPwyW");
|
||||
myRijndael.IV = Encoding.UTF8.GetBytes("Q.6qYq0_C+mGmymX");
|
||||
byte[] x1 = Encoding.UTF8.GetBytes(original);
|
||||
// Encrypt the string to an array of bytes.
|
||||
byte[] encrypted = EncryptStringToBytes(original, myRijndael.Key, myRijndael.IV);
|
||||
|
||||
string x2= BitConverter.ToString(encrypted).Replace("-","");
|
||||
string x3 = BitConverter.ToString(encrypted);
|
||||
// Decrypt the bytes to a string.
|
||||
byte[] xx = StringToByteArray(x2);
|
||||
// byte[] xy = Encoding.UTF8.GetBytes(x2);
|
||||
string roundtrip = DecryptStringFromBytes(xx, myRijndael.Key, myRijndael.IV);
|
||||
|
||||
// string roundtrip = DecryptStringFromBytes(encrypted, myRijndael.Key, myRijndael.IV);
|
||||
|
||||
//Display the original data and the decrypted data.
|
||||
Console.WriteLine("Original: {0}", original);
|
||||
Console.WriteLine("Round Trip: {0}", roundtrip);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine("Error: {0}", e.Message);
|
||||
}
|
||||
}
|
||||
static byte[] EncryptStringToBytes(string plainText, byte[] Key, byte[] IV)
|
||||
{
|
||||
// Check arguments.
|
||||
if (plainText == null || plainText.Length <= 0)
|
||||
throw new ArgumentNullException("plainText");
|
||||
if (Key == null || Key.Length <= 0)
|
||||
throw new ArgumentNullException("Key");
|
||||
if (IV == null || IV.Length <= 0)
|
||||
throw new ArgumentNullException("IV");
|
||||
byte[] encrypted;
|
||||
// Create an RijndaelManaged object
|
||||
// with the specified key and IV.
|
||||
using (RijndaelManaged rijAlg = new RijndaelManaged())
|
||||
{
|
||||
rijAlg.Key = Key;
|
||||
rijAlg.IV = IV;
|
||||
|
||||
// Create an encryptor to perform the stream transform.
|
||||
ICryptoTransform encryptor = rijAlg.CreateEncryptor(rijAlg.Key, rijAlg.IV);
|
||||
|
||||
// Create the streams used for encryption.
|
||||
using (MemoryStream msEncrypt = new MemoryStream())
|
||||
{
|
||||
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
|
||||
{
|
||||
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
|
||||
{
|
||||
|
||||
//Write all data to the stream.
|
||||
swEncrypt.Write(plainText);
|
||||
}
|
||||
encrypted = msEncrypt.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Return the encrypted bytes from the memory stream.
|
||||
return encrypted;
|
||||
}
|
||||
|
||||
static string DecryptStringFromBytes(byte[] cipherText, byte[] Key, byte[] IV)
|
||||
{
|
||||
// Check arguments.
|
||||
if (cipherText == null || cipherText.Length <= 0)
|
||||
throw new ArgumentNullException("cipherText");
|
||||
if (Key == null || Key.Length <= 0)
|
||||
throw new ArgumentNullException("Key");
|
||||
if (IV == null || IV.Length <= 0)
|
||||
throw new ArgumentNullException("IV");
|
||||
|
||||
// Declare the string used to hold
|
||||
// the decrypted text.
|
||||
string plaintext = null;
|
||||
|
||||
// Create an RijndaelManaged object
|
||||
// with the specified key and IV.
|
||||
using (RijndaelManaged rijAlg = new RijndaelManaged())
|
||||
{
|
||||
rijAlg.Key = Key;
|
||||
rijAlg.IV = IV;
|
||||
|
||||
// Create a decryptor to perform the stream transform.
|
||||
ICryptoTransform decryptor = rijAlg.CreateDecryptor(rijAlg.Key, rijAlg.IV);
|
||||
|
||||
// Create the streams used for decryption.
|
||||
using (MemoryStream msDecrypt = new MemoryStream(cipherText))
|
||||
{
|
||||
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
|
||||
{
|
||||
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
|
||||
{
|
||||
// Read the decrypted bytes from the decrypting stream
|
||||
// and place them in a string.
|
||||
plaintext = srDecrypt.ReadToEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return plaintext;
|
||||
}
|
||||
|
||||
public static string Base64Encode(string plainText)
|
||||
{
|
||||
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
|
||||
return System.Convert.ToBase64String(plainTextBytes);
|
||||
}
|
||||
|
||||
public static string Base64Decode(string base64EncodedData)
|
||||
{
|
||||
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
|
||||
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
|
||||
}
|
||||
}
|
||||
}
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace CryptoTest
|
||||
{
|
||||
class Program
|
||||
{
|
||||
|
||||
public static byte[] StringToByteArray(string hex)
|
||||
{
|
||||
return Enumerable.Range(0, hex.Length)
|
||||
.Where(x => x % 2 == 0)
|
||||
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
|
||||
.ToArray();
|
||||
}
|
||||
public static void Main()
|
||||
{
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
string x = Base64Encode("3hba8fOumOPrMG0.G?-mkF-scGOkPwyW");
|
||||
string y = Base64Decode(x);
|
||||
|
||||
string original = "3hba8fOumOPrMG0.G?-mkF-scGOkPwyW";
|
||||
|
||||
// Create a new instance of the RijndaelManaged
|
||||
// class. This generates a new key and initialization
|
||||
// vector (IV).
|
||||
using (RijndaelManaged myRijndael = new RijndaelManaged())
|
||||
{
|
||||
|
||||
myRijndael.Key = Encoding.UTF8.GetBytes("3hba8fOumOPrMG0.G?-mkF-scGOkPwyW");
|
||||
myRijndael.IV = Encoding.UTF8.GetBytes("Q.6qYq0_C+mGmymX");
|
||||
byte[] x1 = Encoding.UTF8.GetBytes(original);
|
||||
// Encrypt the string to an array of bytes.
|
||||
byte[] encrypted = EncryptStringToBytes(original, myRijndael.Key, myRijndael.IV);
|
||||
|
||||
string x2 = BitConverter.ToString(encrypted).Replace("-", "");
|
||||
string x3 = BitConverter.ToString(encrypted);
|
||||
// Decrypt the bytes to a string.
|
||||
byte[] xx = StringToByteArray(x2);
|
||||
// byte[] xy = Encoding.UTF8.GetBytes(x2);
|
||||
string roundtrip = DecryptStringFromBytes(xx, myRijndael.Key, myRijndael.IV);
|
||||
|
||||
// string roundtrip = DecryptStringFromBytes(encrypted, myRijndael.Key, myRijndael.IV);
|
||||
|
||||
//Display the original data and the decrypted data.
|
||||
Console.WriteLine("Original: {0}", original);
|
||||
Console.WriteLine("Round Trip: {0}", roundtrip);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.WriteLine("Error: {0}", e.Message);
|
||||
}
|
||||
}
|
||||
static byte[] EncryptStringToBytes(string plainText, byte[] Key, byte[] IV)
|
||||
{
|
||||
// Check arguments.
|
||||
if (plainText == null || plainText.Length <= 0)
|
||||
throw new ArgumentNullException("plainText");
|
||||
if (Key == null || Key.Length <= 0)
|
||||
throw new ArgumentNullException("Key");
|
||||
if (IV == null || IV.Length <= 0)
|
||||
throw new ArgumentNullException("IV");
|
||||
byte[] encrypted;
|
||||
// Create an RijndaelManaged object
|
||||
// with the specified key and IV.
|
||||
using (RijndaelManaged rijAlg = new RijndaelManaged())
|
||||
{
|
||||
rijAlg.Key = Key;
|
||||
rijAlg.IV = IV;
|
||||
|
||||
// Create an encryptor to perform the stream transform.
|
||||
ICryptoTransform encryptor = rijAlg.CreateEncryptor(rijAlg.Key, rijAlg.IV);
|
||||
|
||||
// Create the streams used for encryption.
|
||||
using (MemoryStream msEncrypt = new MemoryStream())
|
||||
{
|
||||
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
|
||||
{
|
||||
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
|
||||
{
|
||||
|
||||
//Write all data to the stream.
|
||||
swEncrypt.Write(plainText);
|
||||
}
|
||||
encrypted = msEncrypt.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Return the encrypted bytes from the memory stream.
|
||||
return encrypted;
|
||||
}
|
||||
|
||||
static string DecryptStringFromBytes(byte[] cipherText, byte[] Key, byte[] IV)
|
||||
{
|
||||
// Check arguments.
|
||||
if (cipherText == null || cipherText.Length <= 0)
|
||||
throw new ArgumentNullException("cipherText");
|
||||
if (Key == null || Key.Length <= 0)
|
||||
throw new ArgumentNullException("Key");
|
||||
if (IV == null || IV.Length <= 0)
|
||||
throw new ArgumentNullException("IV");
|
||||
|
||||
// Declare the string used to hold
|
||||
// the decrypted text.
|
||||
string plaintext = null;
|
||||
|
||||
// Create an RijndaelManaged object
|
||||
// with the specified key and IV.
|
||||
using (RijndaelManaged rijAlg = new RijndaelManaged())
|
||||
{
|
||||
rijAlg.Key = Key;
|
||||
rijAlg.IV = IV;
|
||||
|
||||
// Create a decryptor to perform the stream transform.
|
||||
ICryptoTransform decryptor = rijAlg.CreateDecryptor(rijAlg.Key, rijAlg.IV);
|
||||
|
||||
// Create the streams used for decryption.
|
||||
using (MemoryStream msDecrypt = new MemoryStream(cipherText))
|
||||
{
|
||||
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
|
||||
{
|
||||
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
|
||||
{
|
||||
// Read the decrypted bytes from the decrypting stream
|
||||
// and place them in a string.
|
||||
plaintext = srDecrypt.ReadToEnd();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return plaintext;
|
||||
}
|
||||
|
||||
public static string Base64Encode(string plainText)
|
||||
{
|
||||
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
|
||||
return System.Convert.ToBase64String(plainTextBytes);
|
||||
}
|
||||
|
||||
public static string Base64Decode(string base64EncodedData)
|
||||
{
|
||||
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
|
||||
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\FastReports\\FastReport.Net\\Nugets": {},
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"C:\\Program Files (x86)\\Syncfusion\\Essential Studio\\WinUI\\22.1.34\\NuGetPackages": {},
|
||||
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||
"E:\\Software-Projekte\\_NugetPackages": {},
|
||||
"http://nuget.grapecity.com/nuget": {}
|
||||
@@ -54,7 +55,8 @@
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48"
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
@@ -63,7 +65,7 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.410\\RuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,14 +7,11 @@
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Steafn Hutter lokal\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">5.11.2</NuGetToolVersion>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.5.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\Steafn Hutter lokal\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft\Xamarin\NuGet\" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,6 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
||||
@@ -1,4 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = ".NET Core 3.1")]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -37,6 +37,7 @@
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\FastReports\\FastReport.Net\\Nugets": {},
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"C:\\Program Files (x86)\\Syncfusion\\Essential Studio\\WinUI\\22.1.34\\NuGetPackages": {},
|
||||
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||
"E:\\Software-Projekte\\_NugetPackages": {},
|
||||
"http://nuget.grapecity.com/nuget": {}
|
||||
@@ -62,7 +63,8 @@
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48"
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
@@ -71,8 +73,16 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.410\\RuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.202\\RuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"logs": [
|
||||
{
|
||||
"code": "NU1803",
|
||||
"level": "Warning",
|
||||
"warningLevel": 1,
|
||||
"message": "You are running the 'restore' operation with an 'HTTP' source, 'http://nuget.grapecity.com/nuget'. Non-HTTPS access will be removed in a future version. Consider migrating to an 'HTTPS' source."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,8 +1,15 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "+8fvhsCvcbFO0RoBreIC6QqmWRX5f+QDOPelAAXB20NkbmscQ3gLW31w0t5euNLJOefkh3gykbrAe/vUe1Kzfg==",
|
||||
"dgSpecHash": "TBA58BosX1lI6rdfbvlf1t6UAO9hSTmXyrB77pnEIDylqZX3EaktB4JbL7kJv7j19Lj/D8B1VJxWIAoR+g9Waw==",
|
||||
"success": true,
|
||||
"projectFilePath": "E:\\Software-Projekte\\DPM\\DPM2016\\CryptoTest\\CryptoTest.csproj",
|
||||
"expectedPackageFiles": [],
|
||||
"logs": []
|
||||
"logs": [
|
||||
{
|
||||
"code": "NU1803",
|
||||
"level": "Warning",
|
||||
"warningLevel": 1,
|
||||
"message": "You are running the 'restore' operation with an 'HTTP' source, 'http://nuget.grapecity.com/nuget'. Non-HTTPS access will be removed in a future version. Consider migrating to an 'HTTPS' source."
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user