Security Audit report: 4.2. Enhance encryption of values in memory.

This commit is contained in:
Jim Norman
2006-04-19 20:22:39 +00:00
parent 3fbb9e92d2
commit ac0dbfc4e4
2 changed files with 17 additions and 14 deletions

View File

@@ -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()
{