i'm thinking it would just be easier to try to do it in borland directly now. here's the original code, it looks simple enough there's got to be a way to do it in borland
Dim i As Integer
Dim PerfCtr(3) As Byte
Dim OutCtr As Long
Dim FinalArray() As Byte
Dim CtrOK As Boolean
Dim BC As BitConverter
Dim Rand64(63) As Byte
Dim rng As New RNGCryptoServiceProvider
For i = 0 To 500
' A call to Performance Counter produces a 32 bit word OutCtr
' There are rare instances where the hardware vendor botches support for a high performance counter
CtrOK = QueryPerformanceCounter(OutCtr)
If Not CtrOK Then Throw New System.Exception("Flaky system, try again- use new hardware if it continues")
' Turn the 32 bits into 4 bytes and place in byte array PerfCtr
PerfCtr = BC.GetBytes(OutCtr)
FinalArray = ArrayConcat(FinalArray, PerfCtr)
rng.GetBytes(Rand64)
FinalArray = ArrayConcat(FinalArray, Rand64)
Next
' Hash the stuff
Dim FinalHash() As Byte
Dim sha512 As New SHA512Managed
FinalHash = sha512.ComputeHash(FinalArray)
sha512.Clear()
__________________
Mechanical Engineers build weapons. Civil Engineers build targets.
|