10-18-2005, 06:57 AM | #1 (permalink) |
Insane
|
need to create a DLL in VS.NET to use in Borland C++
I have some code for a random number generator written in VB.NET. It makes a few microsoft exclusive calls as well. I need to implement it in Borland C++ Builder, and I was told the easiest way to do it would be to make a DLL in VS.NET and use it in the Borland program. I have very little experience with VS.NET and no experience using DLL's so any help to get me going is greatly appreciated.
I guess the other route I can take though is to figure out how to implement it directly in borland. The exclusive calls are: Dim rng As New RNGCryptoServiceProvider rng.GetBytes(someByteArray) ..... I don't understand what the GetBytes does Dim sha512 As New SHA512Managed sha512.ComputeHash(someOtherByteArray) if anyone knows some borland equivalents for those, that would work too. Thanks
__________________
Mechanical Engineers build weapons. Civil Engineers build targets. |
10-20-2005, 03:12 PM | #4 (permalink) | |
Well...
Location: afk
|
Quote:
The only option for you here is to use a CCW (com callable wrapper) and then use com inside of your borland C++ app. There's no good way to call managed code from an umanaged program. |
|
10-20-2005, 04:20 PM | #5 (permalink) |
Insane
|
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. |
Tags |
borland, create, dll, vsnet |
|
|