Hi NeoPa,
It's been awhile since I've looked at this code and it's been over 6 years since I've worked in Access with any regularity so let me dust off my memory banks.
I noticed you turned the drop bytes into something like a salt. While not a standard way of incorporating a salt, it's certainly a good and needed addition to the original code.
I don't think the saving of the buffers gains you a whole...
User Profile
Collapse
-
Yes, your words don't quite match but the sample query you sent is what I meant...Leave a comment:
-
If the number of actual fields is managable, you can "unpivot" the main table using a view with a series of union all. This will allow you to join the unpivoted view to the task table.
...Code:SELECT ID, 'Field1' as FieldName, Field1 as FieldValue FROM Table UNION ALL SELECT ID, 'Field2' as FieldName, Field2 as FieldValue FROM TableLeave a comment:
-
It's been forever since I've looked at this. I don't know if you can late bind it due to the events, but I've never tried.Leave a comment:
-
We have no idea what database you're referring to since you posted this in generalLeave a comment:
-
-
-
Rabbit replied to I Double Dare you: Write a shortest path process for a grid-layout game if you can.in CWell if the question is unresolved, then even more reason to not delete itLeave a comment:
-
Rabbit replied to I Double Dare you: Write a shortest path process for a grid-layout game if you can.in CRather than deleting it, it would probably be more useful for future readers to know what breakthrough helped you outLeave a comment:
-
Rabbit replied to I Double Dare you: Write a shortest path process for a grid-layout game if you can.in CWell, it's not C, but I threw this together in javascript of you want to take a look. It just outputs to the console so you'll have to open up your browser's console or the console that the site provides.
https://jsfiddle.net/thru41wj/
...Code:class PriorityQueue { constructor() { this.collection = []; } enqueue(element, priority){ let added = false;Leave a comment:
-
Rabbit replied to I Double Dare you: Write a shortest path process for a grid-layout game if you can.in CI don't program in C or C++ but it sounds like you can find working code for a graph but not one for a grid layout. A grid can be represented as a graph with edges to all orthogonal cells. So you could insert a step to convert the grid to a graph and then run the graph version of dijkstra's.Leave a comment:
-
The vartype function should help you diagnose what's going on. You may have to break up the expression and test the vartype at different points to figure out where it becomes a stringLast edited by Rabbit; Mar 11 '21, 12:49 AM.Leave a comment:
-
That's not why it's considered broken, it's considered broken because the algorithm has too many weaknesses. AES code is also publicly available but is unbroken. I'm not quite sure what you mean by reversible, but in encryption, reversible means that you can obtain the original plain text from the cipher text. In the cryptographic sense, AES is also reversible. An example of a non-reversible function are hash algorithms.
That...Leave a comment:
-
The purpose of encryption is to protect data when it is inevitably made visible. It's also very common to reveal what encryption function is being used. For example, the functions protecting HTTPS and wifi are widely known. It's not the hiding of the function that provides the security, it's the algorithm itself that provides the security. Knowing something uses AES doesn't mean the encryption is more easily breakable. Hiding the function is just...Leave a comment:
-
As a general best practice for your extra encryption, you should switch to a stronger algorithm like AES.
You should also use salts, to prevent what you're seeing with gender. A salt will prevent identical messages encrypted with identical passwords from producing identical cipher texts.Leave a comment:
-
Well, I knew it was a sample database. I never would have posted it if it was a production database.Leave a comment:
-
Ok, well, I didn't have to go to the extreme of decompiling the code, just had to inspect the process memory. The backend isremovedand the RC4 isremovedLast edited by Rabbit; Mar 7 '21, 06:28 PM.Leave a comment:
-
For your originally stated purpose, you won't need a MAC. But it could be useful if you're looking to verify the integrity of the data that you encrypted in the table.
There shouldn't be an issue opening the file in read mode to read those bytes while it's in use. But if there is, you can just temporarily create a copy and read that.
As far as the challenge goes, that depends on what that is. If it's to break into the...Leave a comment:
-
That's clearer, yes. In an encrypted Access database, the encryption metadata is stored in the file starting at byte 676. It has the salts used, verification hashes, and encrypted key value. If you compare that at run time to the original values at creation, that'll tell you if someone changed anything about the encryption.
Here's the wikipedia article about MACs: https://en.wikipedia.org/wiki/Messag...ntication_code
...Leave a comment:
-
The high level overview is that message authentication codes tell you whether or not data has been changed by a third party. But they're not a simple topic, best to read an article about them.
This would only apply though to my original thinking that you wanted to check the authenticity of the custom encryption you're using. This does not help you in regards to checking the authenticity of the full file encryption as those contents...Last edited by Rabbit; Mar 6 '21, 06:17 PM.Leave a comment:
No activity results to display
Show More
Leave a comment: