56 lines
1.3 KiB
C#
56 lines
1.3 KiB
C#
using System;
|
|
using System.Configuration;
|
|
using Microsoft.VisualBasic;
|
|
using Strata.Configuration.Client.Models.Jazz;
|
|
|
|
namespace Strata.Base.Internal.Encryptors
|
|
{
|
|
|
|
public class UberEncryptionMethod : IPasswordEncryptionMethod
|
|
{
|
|
|
|
public UberEncryptionMethod()
|
|
{
|
|
|
|
}
|
|
|
|
#region Methods
|
|
|
|
public static string GetUberMonet(string anOrgPin)
|
|
{
|
|
return GetUberMonet(DateTime.Today, anOrgPin, ConfigurationManager.AppSettings[nameof(StrataJazzOptions.UberMonetKey)]);
|
|
}
|
|
|
|
private static string GetUberMonet(DateTime aDate, string anOrgPIN, string aKey)
|
|
{
|
|
var ha = new EncryptionUtils.Hasher(EncryptionUtils.Hasher.Provider.SHA256);
|
|
|
|
string lsHashBefore;
|
|
string lsResult;
|
|
|
|
lsHashBefore = Strings.Format(aDate, "dd-MM-yyyy") + "-" + anOrgPIN + "-" + aKey;
|
|
|
|
var d = new EncryptionUtils.Data(lsHashBefore);
|
|
|
|
var dResult = ha.Calculate(d);
|
|
lsResult = Strings.Left(dResult.Hex, 6);
|
|
|
|
ha = null;
|
|
|
|
return lsResult;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region IPasswordEncryptionMethod
|
|
|
|
public string Encode(string username, string anOrgPin, string aNewPassword, Guid aUserGUID, string aSalt)
|
|
{
|
|
return GetUberMonet(anOrgPin);
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
|
|
} |