Security Audit report: 4.2. Enhance encryption of values in memory.
This commit is contained in:
27
c_micasad/cache/KeyValue.cs
vendored
27
c_micasad/cache/KeyValue.cs
vendored
@@ -132,7 +132,7 @@ namespace sscs.cache
|
||||
return mLinkedKeys;
|
||||
}
|
||||
|
||||
|
||||
private DateTime m_dtEncryptTime = DateTime.Now;
|
||||
private DateTime m_created;
|
||||
public DateTime CreatedTime
|
||||
{
|
||||
@@ -177,6 +177,8 @@ namespace sscs.cache
|
||||
|
||||
private byte[] EncryptValue(byte[] baValueClear)
|
||||
{
|
||||
// set encrypttime
|
||||
m_dtEncryptTime = DateTime.Now;
|
||||
return (XORValue(baValueClear));
|
||||
}
|
||||
|
||||
@@ -191,19 +193,16 @@ namespace sscs.cache
|
||||
return XORValue(m_value);
|
||||
}
|
||||
|
||||
private byte[] XORValue(byte[] baInput)
|
||||
{
|
||||
|
||||
byte[] baOutput = new byte[baInput.Length];
|
||||
Random rand = new Random((int)m_created.Ticks);
|
||||
|
||||
for (int i=0; i<baInput.Length; i++)
|
||||
{
|
||||
baOutput[i] = (byte)((int)baInput[i] ^ rand.Next());
|
||||
}
|
||||
|
||||
return baOutput;
|
||||
}
|
||||
private byte[] XORValue(byte[] baInput)
|
||||
{
|
||||
byte[] baOutput = new byte[baInput.Length];
|
||||
Random ranNum = new Random(this.Key.GetHashCode());
|
||||
for (int i=0; i<baInput.Length; i++)
|
||||
{
|
||||
baOutput[i] = (byte)((int)baInput[i] ^ ranNum.Next() ^ (~i) ^ m_dtEncryptTime.Ticks);
|
||||
}
|
||||
return baOutput;
|
||||
}
|
||||
|
||||
public int GetValueType()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user