Episode #125 of the Stack Overflow podcast is here. We talk Tilde Club and mechanical keyboards. Listen now

New answers tagged

2

Sure. This is actually one of my preferred approaches. It makes the strength of your CSRF protection wholly dependent on the strength of your session token security, but session takeover strictly dominates CSRF in impact anyhow. The hashing means you can leave your session token in an HttpOnly cookie and not expose the session to JavaScript in any way. ...


8

This very high end GPU cracker performs 200GH/s: https://gist.github.com/epixoip/a83d38f412b4737e99bbef804a270c40 That's 200 billion hashes per second (2e11 hashes/s). With a search space of 1e19 possible numbers, that means it will take ~500,000 seconds (about 1.5 years) to exhaustively search parameter space. Of course on average you'll find a match in ...


0

https://getvau.lt/ seems to answer your question exactly, it will hash your password with the name of the site giving you a unique password for each site while allowing you to only remember one. Personally I would still recommend a password manager, but if you insist...


5

One can find many "certification" questions that are less than ideal trying to exploit nuances of wording to test understanding of the topic, but failing to have any real meaning in a practical sense. While you may validly be able to argue the point in the reality of the real world, it really doesn't matter in the face of what the certification test is ...


35

Strangely enough, two of those things are not like the others, but apparently it only marked one of them as wrong. All of the options above are arguably hash functions, in that they all take some input message and produce a "digest" or "hash": a fixed-length set of high-entropy bits that is deterministic on its inputs but is not reversible. There are ...


85

It's not a good question. You're not wrong to call bcrypt a ‘hashing algorithm’, but they're not wrong that it is qualitatively different from the others—although it is curious that they single out bcrypt and not HMAC too. We can group them into three categories: bcrypt is meant to be a password hash, also known as a password-based key derivation function, ...


1

From Wikipedia: bcrypt is a password hashing function designed by Niels Provos and David Mazières, based on the Blowfish cipher, and presented at USENIX in 1999. Note: Password hashing algorithms need not be collision-resistant, see Thomas's answer. That is the distinction from Cryptographical Hash algorithms.


0

Saying that the Golang implementation computes the HMAC of the input password before performing the iteration loop, therefore making PBKDF2 non-standard compliant, is not fully accurate. The Golang implementation of PBKDF2 is fully standard compliant and interoperable. First note that - strictly speaking - PBKDF2 requires a PRF (Pseudo Random Function). ...


0

You can use the bitcoin blockchain to serve as your witness. Before publishing the article, prepend a 'cover page' to the document with your name and any other identifying information. Then, take a hash of this document, and store the hash in a bitcoin transaction (specifically, in the op_return field of a transaction). Then, later if you want to prove ...


1

While the other answers discuss security properties, one mentions hash functions and states how these are used for message integrity (i.e. HMAC, etc.). Another answer points to the use of digital signatures. A digital signature is a method for verifying the authenticity of a message, or article in this case. For your case in the question, to use digital ...


-1

Hash is perfectly usable here with a different approach. Imagine you have the text. Put your name (or other information you see fit) at the end of the text and hash the whole thing. Then publish the text WITHOUT your name, but WITH the hash. When you need to prove authorship - just publish the text with your name that hashes to the originally published ...


1

Short answer: no This is not the purpose of a hash, you would want to use a digital signature for this purpose instead. Would there be a difference in posting your personal information vs. posting a hash of your personal information? In order for someone to verify that the hash is indeed of your personal information, they would need that information. How ...


1

One way that strikes me is simply generating a new PGP/GPG key, with an obviously bogus e-mail, such as example@example.com. Sign the work you publish, and make sure the signature is published together with the work. If you at some later date need to verify that you wrote it, simply dig up the private and public key that made the signature. This can be used ...


1

personally i just truncated a 512bit blake2b to 160 bits, with blake2b being faster than MD5, SHA-1, SHA-2, and SHA-3 for amd64 and ARM processors, and having a security margin comparable to SHA-3 (and it's predecessor BLAKE was a SHA3 finalist along with the SHA-3 winner Keccak), it's an excellent replacement for SHA1 imo. btw i did some birthday collision ...


4

Say I'm using Argon2(di) to store passwords. Should I use the second method or first method to hash passwords? No. Argon2 takes the salt as a separate argument from the password, and takes responsibility internally about how to incorporate them both into the computation. As any specialized password hashing function should. Ideally, though, you should use ...


0

You'll need to repeat the '?1' 16 times - one for each position: john --mask=?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1?1 -1=?l?u?d[!@#$%-_=+:] test.ctx.hash This won't eliminate the duplicates, but I wouldn't worry about that; the keyspace is so large that eliminating those duplicates will have insignificant impact on the overall runtime. More generally, the ...


1

like the documentation of password_hash states, a unique salt is being calculated for each time it is called. It is strongly recommended that you do not generate your own salt for this function. It will create a secure salt automatically for you if you do not specify one. (source: php manual - password_hash) Additionally the used options of the hashing ...


0

If you read the documentation on php.net you can see that this function generates a secure salt every time you use it. So if you are using the same input there will be a different output because of this random salt. In the password_verify section of your code the new salt will be used. The hash will be identical and a user is able to login. If you want ...


0

I use a shortcut script to verify SHA 256 sums on Linux automatically. If you use sha256sum filename you have to compare the sums yourself which is hard, unreliable and slow. Solution: Instead, you can create a simple function in your .bashrc or .zshrc configurations and run it in the following way: sha256 <expected-sha-256-sum> <name-of-the-file&...


1

Using a hash to check HTML content will only work in a limited set of circumstances. Any of the following will change the content read in the browser and therefore change the hash: interference by the web server (e.g. Apache/Nginx); web accelerator (e.g. Cloudflare); and browser (e.g. removal of meta http-equiv CSP nonce so that it can't be sniffed).


1

...to protect against tempering by my web host... If you do not trust your hosting provider, all bets are off. They have full control over your website, and no clever tricks are going to change that. ...or other MITM attacks that SSL was not able to prevent. TLS is not perfect, but it's good. You should focus your effort on using it properly (e.g. ...


4

Brute-forcing a single round of SHA1 is extremely fast. An individual high-end graphics card can compute billions of such hashes per second; by parallelizing it even further (using multiple cards, cloud services, or custom hardware) the rate can be driven to even greater orders of magnitude. While the nonce and timestamp prevent building a rainbow table, ...


5

Very possibly, the newline. Try this instead: $ echo -n "password" | sha256sum The -n argument to echo tells it not to print a newline. As you can see, this changes the hash: $ echo "password" | sha256sum 6b3a55e0261b0304143f805a24924d0c1c44524821305f31d9277843b8a10f4e - $ echo -n "password" | sha256sum ...


0

To answer your second question, we can assume that the code exchange (C + D) happens in the back channel (back end to back end) and is safe from any client-side attack. Intercepting the code in a redirect from the auth server to the client is fundamentally easier than intercepting something from between your own client's front end and back end. One way to ...


2

If I understand correctly, PHP is only ever executed server side. If I’m correct in that, then high value user secrets are going to be transmitted to your server even if encrypt them right after you get them. At this point I should disclose that I work for a popular password manager, but I’m not trying to discourage competition. But I do recommend that you ...


4

You can narrow down what hash type it is using hashID: $ hashid 218844.hash --File '218844.hash'-- Analyzing '57b0fcbe39b9336d' [+] MySQL323 [+] DES(Oracle) [+] Half MD5 [+] Oracle 7-10g [+] FNV-164 [+] CRC-64 [+] Cisco-PIX(MD5) [+] Cisco-ASA(MD5) --End of file '218844.hash'-- But the only way to truly verify a hash format is to actually crack a ...


2

Not in a Linux system no. An executable file in Linux is determined by whether or not the executable permission bit is set. The executable permission bit is part of the file metadata, not file content. With Windows, it's also not possible, because executable is defined by file extension. Unless the hash is being used for the filename as well, and unless the ...


4

Well... rather than worry about the statistics, which as you mentioned is unimaginably small. Let’s take another angle. Depending on the hash function, the output is usually 256-512 bits long, but according to this the smallest possible exec in Windows is 97 Bytes — which is 776 bits. Hence if you’re using Sha256 or Sha512, I Guess the answer is definitely ...


1

Yes, theoretically possible. As is throwing 256 coins on the air and all of them coming down tails. There's no law forbidding this to occur, but the same laws dictate that the probability is so close to zero that you can, for all practical effects, call it impossible. unimaginably small It's not unimaginable small. Is dozens of orders of magnitude ...


2

No. The hash function is used to index the original value or key and then used later each time the data associated with the value or key is to be retrieved. Thus, hashing is always a one-way operation. You cannot recreate a file from it's hash. Thing of hashing as a more complex parity check. What you can do is index what hash results by hashing a known ...


1

I can't read, apparently. The justification is described in the RFC itself: A number of pre-conditions need to hold for this attack to work: [...] 4. Either one of the following condition is met: 4a. The attacker (via the installed application) is able to observe only the responses from the authorization endpoint. When "...


5

This is not a collision attack, but a preimage attack With a collision attack, the attacker has control over both inputs to the hash function, say x and y, and they want to find x and y such that x ≠ y but h(x) = h(y). With a first preimage attack, the attacker knows h(x) but not x, and they want to find y such that h(y) = h(x). Importantly, the attacker ...


Top 50 recent answers are included