Hashing vs Encryption Differences

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ • 194

  • @drngrne
    @drngrne 3 роки тому +102

    Eloquent but simple. All the hashing vids that I watched before this were so confusing. You did a wonderful job, thank you so much!

    • @shadsluiter
      @shadsluiter  3 роки тому +13

      You're very welcome!

    • @sayamohamed4787
      @sayamohamed4787 3 роки тому

      Saya manma aa dheytherey and then read this is

    • @sayamohamed4787
      @sayamohamed4787 3 роки тому

      Mi Mi haaru haaru haaru kihineh adhives I have never ate thag saan i hope so too so too much yoh can you deliver a big big big big answers are are we gonna do you know know know know how many pounds in a business question and i i saw that you get a chance to make vanilla ice cream is a language and its

    • @zachjackovich116
      @zachjackovich116 3 роки тому +1

      I completely agree, I watched so many videos trying to understand why SHA would even be used, and none of them answered it until I watched yours. And you had fantastic content through the whole video as well, so thank you.

  • @georgeosborn421
    @georgeosborn421 3 роки тому +7

    The fact that I can listen to a programming professor for free is incredible

  • @holo23
    @holo23 3 роки тому +16

    You earned a sub. I really love the way you explain what hashing is and even gave an example on how to use it for storing passwords. I didn't even notice that it was almost 20 minutes that I was listening to your lecture. 10/10 would recommend this channel to other people again.

    • @jussitamminen1676
      @jussitamminen1676 2 роки тому

      I had the same thing. At first I thought that this video is veeeery long. But the end come much sooner that I had hope for. Very useful information without any stupid nonsense and intros

  • @stealthyfern
    @stealthyfern 3 роки тому +3

    Well laid out. Easy to understand. Your voice wasn't monotone. Thank you. Good video.

    • @shadsluiter
      @shadsluiter  3 роки тому

      Glad you liked it! What other things are you studying lately?

  • @ranas7086
    @ranas7086 4 роки тому +15

    Loved the way you simplified everything! Great work

  • @omarsharaf5140
    @omarsharaf5140 7 місяців тому

    This in one of the simplest and perfect explainations that i have ever seen in my life

  • @hmdz150
    @hmdz150 3 роки тому +6

    Really enjoyed this presentation, very clear and easy to understand. Great Job. I am subscribing!

  • @Shubh22
    @Shubh22 2 роки тому

    I wish I have found this channel earlier. It's much clear and precise compared to the many hyped 'super programmer' UA-camrs.

  • @parthmangalkar
    @parthmangalkar Рік тому +1

    This lecture is golden!!
    Helped me clear a lot of basics and really understand the concepts!

  • @KubiaSpeed
    @KubiaSpeed 4 місяці тому

    Showing how the birthday problem is a hashing algorithm computation more directly allowed me to finally make the connection I needed. I've almost finished my applied math undergrad and com sci undergrad and no one explained these concepts so clearly! Maybe I just needed to see it presented differently, but this worked wonders for me to link my math to it.

  • @abdessalamkabouri962
    @abdessalamkabouri962 3 роки тому +1

    My english is not that good but i did understand almost everything. Thank you sir. Greetings from Morocco

  • @SoorajKumarR
    @SoorajKumarR 2 роки тому +1

    This is such an amazingly created video. Thanks for covering the multiple related aspects in one crisp video.

  • @rgarzari
    @rgarzari Рік тому

    This is my first time watching one of your videos and I loved your teaching style. Subscribed!!

  • @skjaldr7173
    @skjaldr7173 2 роки тому +1

    This is a great video! Your explanation is very to the point without any fluff and presented in a way that doesn't make me wander to the next video. Thank you for the information in such a presentable way!

  • @artemsmirnov9465
    @artemsmirnov9465 4 роки тому +2

    Very concise and crystal clear. Thank you!

  • @IShowVelocity.
    @IShowVelocity. 3 роки тому

    Even a child can understand this .
    Very well explained sir

  • @footballCartoon91
    @footballCartoon91 4 роки тому

    @16:35
    I would like to disagree about "salt"
    Salt is technically speaking a compound that can bind either positively charged ion or negatively charged ion except hydroxide ion (OH-) and hydrogen ion(H+).
    In some field salt is used as a mode of transport through bonding with adjacent ions. When the condition is right, the bonding will broken down and release the appropriate content. One example is calcium carbonate.
    When dissolved with hydrochloric acid, calcium is released from carbonate ions.
    So imagine this analogy to the hashing it is quite similar.

  • @doriancrutcher5425
    @doriancrutcher5425 4 роки тому +7

    I'm so glad I found this video. You did an incredible job explaining this.

    • @shadsluiter
      @shadsluiter  4 роки тому

      Glad you enjoyed it! What are you studying?

  • @The51stAgent
    @The51stAgent 4 роки тому +2

    Awesome video. Was totally not expecting to see judaiism/rabiis mentioned. Very cool history insight!

  • @marevalo3000100
    @marevalo3000100 4 роки тому +1

    Finally a video that explains it clearly!! Thank you!

  • @PrivateYouTubeE
    @PrivateYouTubeE 4 роки тому +3

    I love this thorough explanation of Hashing and Encryption. This is awesome work.
    Thank you so much!

  • @desiaclementslewis8318
    @desiaclementslewis8318 3 роки тому

    thank you so much for a simple easy to comprehend answer with no filler. nice

  • @hitnahsin
    @hitnahsin 4 роки тому +3

    Thanks a lot Shad ....was simple and easy to digest.Thanks for your time.Laughed at the last joke

  • @raulbirta7982
    @raulbirta7982 2 роки тому

    Amazingly well explained sir. Very grateful for it. Subscribed.

  • @python2448
    @python2448 2 роки тому +1

    Thanks for the video Professor. Very clear explanation to follow. Hashing technique was particularly useful for us in de-duplicating big data sets. Have shared it in a video.

  • @MelaineNatividad
    @MelaineNatividad Місяць тому

    Appreciate the detailed breakdown! Just a quick off-topic question: I have a SafePal wallet with USDT, and I have the seed phrase. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). How should I go about transferring them to Binance?

  • @Caldun-bn5mi
    @Caldun-bn5mi 10 місяців тому

    Thank you for all your work and even more for educating here on youtube your explanation is so good even I could understand it

  • @ricardoribeiro3281
    @ricardoribeiro3281 3 роки тому

    Highly valuable and with great and ilustrative examples.

  • @lagnajeetmishra6929
    @lagnajeetmishra6929 4 роки тому

    Great explanation....very easy language used which helps in understanding quick...thank you professor sir

    • @shadsluiter
      @shadsluiter  4 роки тому

      You are most welcome. Thank you for coming

  • @patrickdenkyi56
    @patrickdenkyi56 8 місяців тому

    This is so good. Thank you professor Sluiter!

  • @peterdimeji2503
    @peterdimeji2503 2 роки тому

    Wow! Awesome explanation sir.

  • @ggeducation9544
    @ggeducation9544 4 роки тому +1

    Clear and well explained video, the work of a professional :-) Thank you

  • @rajvivid4081
    @rajvivid4081 3 роки тому

    Awesome explanation, was always wonder what is Salting!

  • @mfkhan127
    @mfkhan127 2 роки тому

    Commendable explanation.
    Thanks for sharing.

  • @RezoanurRahman
    @RezoanurRahman 4 роки тому +24

    1:57 So we are going to ignore the subtle shade Mr Shad Sluiter pulled here against windows and mac?..xD really good video too

  • @RealKugor
    @RealKugor 3 роки тому

    8:16
    I have a question:
    Lets say the password is p="hello" and the salt is s ="42" so
    p = p+s = hello42
    now if I hash("hello42") = h1 I will get a different hash result as when I would hash("hello") = h2 right?
    I would safe the with (random)salt generated hash h1 in my database.
    Now on a different day, the user wants to login into my webpage. he uses the password "hello", my code adds a random salt to it and hashes it (because its random it wouldnt be again 42, lets say this time the salt is s=11). So the new hashed password would be hash(hello11) and if I compare it with the hash("hello42) in the database I would not get a hit.
    How can I find the hash in the database if I use every time different salts for the same password?

    • @shadsluiter
      @shadsluiter  3 роки тому

      The random hash value is chosen when the password is created. The seed and the hashed password are both stored in the database. There is not a new seed for each login attempt.

  • @ujjallimbu7163
    @ujjallimbu7163 4 роки тому

    simple, crisp and clear ...
    subscribed...

  • @molisepan436
    @molisepan436 3 роки тому

    Thank you, your videos are very enlightening and entertaining as well as practical, I got great help from you

  • @vinht
    @vinht 3 роки тому

    Thank you professor Shad! Very thorough and easy to understand.

  • @gracequilantang6451
    @gracequilantang6451 4 роки тому +1

    Thank you for this. This is very helpful and easy to understand.

  • @uae9093
    @uae9093 3 роки тому

    Thank you very much. I enjoyed your way of explaining. Clear simple and straight to the point. Thanks again

    • @shadsluiter
      @shadsluiter  3 роки тому

      Thank you. What kinds of things are you trying to learn?

  • @vladislavkaras491
    @vladislavkaras491 5 місяців тому

    Very greatly explained!
    Thanks for the video!

  • @lmaoty
    @lmaoty 4 роки тому +1

    Finally understood this. Thank you Shad!

  • @6778316
    @6778316 3 роки тому

    Thank you, the explanation was easy and valuable at the same time.

  • @nixp
    @nixp 3 роки тому +1

    Great video. A pleasure to watch.

    • @shadsluiter
      @shadsluiter  3 роки тому

      Glad you enjoyed it! What kind of things are you currently studying?

    • @nixp
      @nixp 3 роки тому

      @@shadsluiter Nothing in particular. I know about using check sums to verify a file's integrity, and I was curious how it works. You also give a lot of contextual additional information, such as what rainbow tables are and why md5 is to be avoided, which was really helpful.

  • @samfall8899
    @samfall8899 3 роки тому

    Thanks so much Pr. Shad! This is a great presentation. Needless to say that I subscribe to your chanel

  • @Applest2oApples
    @Applest2oApples 3 роки тому +11

    So in other words, whenever a service tells me that my new password is “too similar” to my old password, they aren’t hashing my passwords and basically fucking me over?

    • @Ted1A
      @Ted1A 3 роки тому +2

      They might be encrypting your password

    • @weltrepublik
      @weltrepublik 3 роки тому

      They're mostly trying to deffend your account from successful brute-force attack

    • @Applest2oApples
      @Applest2oApples 3 роки тому +5

      @@weltrepublik But if a password is changed by even a single letter and the hashes come out completely different, then they should have no way of knowing that's it is similar. Thus they must be saving my plain text password in order to compare. Doesn't sound like they are defending me at all.

    • @jankastbjerg4017
      @jankastbjerg4017 3 роки тому

      @@Applest2oApples it's not that they're neccessarily saving it as plain text, but to make it harder to brute for hackers.
      fx. most people use the same password on every site, so say a hacker gets your password from another not so secure site, but doesn't exploit it in a way you notice, he now has access to everything you have.
      now X time later, your pasword gets "expired" on a site, and you change it to something similar, then the next time the hacker tries to login to that site, he will be denied.
      Now instead of starting to brute force your new password from scratch (A-Z), almost all hackers will start brute forcing through variations of the old password instead, because most people are lazy, so there's a high propability, that only 1 or 2 letters have been capitalised, or changed and etc....
      so just changing a few letters will make the hackers use relative short time to brute your "new" password" (from minutes to a few days), where a totally new password will force them to start from scratch, which means the hacker basically have to be incredibly lucky to crack you new password, as long as you use somewhat secure passwords (upper and lower case, numbers and special chars, and a good lenght)
      the above example is also why it's important to use different passwords for each "important" site you use, and not just variations...
      hope it made it somewhat clearer :)

    • @ro-ce8vg
      @ro-ce8vg 3 роки тому +1

      @@jankastbjerg4017 the fact that a password is similar to a previous one is besides the point, the point is the website knows what your password is, and doesn’t only have it’s hash saved

  • @greg_does_stuff
    @greg_does_stuff Рік тому

    Fantastic explanation. Thank you!

  • @juliojaviera5963
    @juliojaviera5963 2 роки тому

    Great explanation... Thank you very much!!!

  • @kuhak4780
    @kuhak4780 2 роки тому

    the common practical way:
    1) encrypt+hash+salter
    2) Data send through encrypted package
    3) Unencrypt the received data
    4) Check on the hash and token should return valid/true.
    5) do the things...
    Regarding MD5, shouldn't really use it, if still insisted, must merge with add-on unique hashing algorithm to generate the only unique result.
    In reality, there are still tons of systems still using the MD5 hashing basis but they modified with other unique hashing algorithm.

  • @twootwo202
    @twootwo202 2 роки тому

    wow, thank you so much. "... never see a windows or Mac ..." joke cracked me up 🤣

  • @jamesT008
    @jamesT008 3 роки тому

    Quality information ..i must say...subscribed...thanks a lot!

  • @shukhart9192
    @shukhart9192 Місяць тому

    Awesome video. New stuff learned. But I don't understand everything.
    What's wrong with md5? There are rainbowtables. Why not just add let's say SHA-2 hash next to md5 hash of those passwords?
    And what about salt? Where salts are stored on server? Special datatbase? Is there unique salt for each user? If hackers can steal password db what's the problem with stealing salts? Just extra steps which are not guarranteed to be successful?

  • @apxpandy4965
    @apxpandy4965 3 роки тому

    Wow - that was fantastic! Really well presented - thanks!

  • @ihsannuruliman3656
    @ihsannuruliman3656 3 роки тому

    Looking forward to an easy explanation on SHA algorithm!!

  • @jairusan
    @jairusan 3 роки тому

    Excellent content and examples, definitely going to continue checking your videos professor ^^

    • @shadsluiter
      @shadsluiter  3 роки тому

      Thank you. What kind of things are you studying?

    • @jairusan
      @jairusan 3 роки тому

      @@shadsluiter Well, I am a Network Engineer and Linux Engineer, I am currently exploring blockchain infrastructures, cryptocurrencies and IPv6, all of them require security. Do you broadcast live via UA-cam from time to time?

  • @goldfishbrainjohn2462
    @goldfishbrainjohn2462 3 роки тому

    Thanks for your teaching, wonderful job!

  • @anumm1560
    @anumm1560 Рік тому

    Amazing video, learned so much!

  • @shavarshshahoyan
    @shavarshshahoyan 3 роки тому

    Great job, useful video, simple explanation, thank you very much!

  • @super0gabriel
    @super0gabriel 4 роки тому +1

    Great explanation, thanks sir!

  • @Luftwaffe777
    @Luftwaffe777 3 роки тому

    What is the difference between digital signature and hashing? Can be both used at the same time? Tahnk you for this very good video!

  • @galasevgisi5123
    @galasevgisi5123 3 роки тому

    Thank you professor Sluiter

  • @giladbaruchian7522
    @giladbaruchian7522 3 роки тому

    I really enjoying learning this, thank you!

  • @greymind0072
    @greymind0072 2 місяці тому

    That so well done and eloquently describes

  • @playonce4186
    @playonce4186 2 роки тому +2

    Main difference is that encryption is 2 way(Can be reverted to original string),
    and Hashing is 1 way(Cannot be reverted to original string)

    • @5gun1
      @5gun1 2 роки тому

      Why can’t it be recessed

    • @innoprodig5249
      @innoprodig5249 2 роки тому

      @@5gun1 here is the process of SHA256 (hashing technique used for mining bitcoins and ethereum) ua-cam.com/video/f9EbD6iY9zI/v-deo.html
      The complexity of it makes it nearly impossible to reverse.

  • @helgeschneider5423
    @helgeschneider5423 2 роки тому

    That video is gold, thank you!

  • @Davegbuf
    @Davegbuf 2 роки тому

    Excellent video and explaining the technology. However, I have a situation where I don't know how I would adapt the concepts you explained because the scenario is slightly different. Your example works interactively by comparing user passwords with stored hash values. My scenario is for an automated process (no user interaction at all) and the credentials are self-contained in the program package. These must not be known to the user or anyone who can get a hold of the file(s) containing them.
    Here is a live example … We have a company application that requires administrative rights to execute but our users only have standard Windows user permissions. I repackaged the application into a single EXE executable script to conceal the admin credentials that are included in the script code. However, I discovered that compiling the script is not enough because the EXE file can be decompiled or someone can use other programs to see the contents.
    How can I adapt the concepts you explained in your video this my scenario? I need to be able to execute a self-contained application package locally (no network or internet resources) and with specific credentials while protecting said credentials from the local user or anyone who might get a hold of the EXE file containing the credentials. The application needs to use these credentials at run time to perform its tasks.
    Your insight is most appreciated.

    • @shadsluiter
      @shadsluiter  2 роки тому

      You are correct in assuming that anything you embed in an EXE file is essentially open source and viewable. Even a hashed password embedded into an EXE is not helpful because the hacker can disassemble and use the hashed credentials without knowing what the exact password is.
      The issue is that your setup conflicts with the Windows security concept.
      An program (executed by a non-admin user) needs to be escalated in order to run with administrative privileges. The UAC prompt and escalate are the only ways to accomplish that.
      You could now carry out some or all of the following:
      - Determine the exact cause of the app's needs and devise a solution.
      - Turn off UAC.
      - Give users administrative rights on their PCs.
      I would personally begin with the first suggestion above. What is missing from the application that it needs?
      Does it have to write to a disk area that is normally secured? For instance, into a C:Program Files subfolder? If so, you can provide non-privileged users access to the folder or files it needs to access by opening their security settings.
      Does it have to make changes to the register in a secure area? the same as above Set the user's access rights so they can read and write to that or those registry locations (s).
      Just so you know, successful installers in the current UAC-based security paradigm frequently follow the pattern I just mentioned. The installer is elevated to enable these tasks, after which the application can operate for that user and access the resources it requires.

    • @Davegbuf
      @Davegbuf 2 роки тому

      Thank you so much for your quick response. The information that you shared will be helpful in setting up application installations as you mentioned. I guess I was too vague in my question to you because I thought the solution would be sufficient to tackle both main scenarios that we have in our environment since they are so similar. I should also mention that I can do some scripting but I’m not a software developer.
      If you would be so kind to share your insights, I would like to be more specific in the following scenario: I have an automated reporting process that does file transfers between a local machine to an Amazon AWS S3 online folder. The Amazon user account provides an “Access Key” string and a “Secret” string of characters which I can use like a username and password with an external utility called “S3.exe” to do file operations. The main script that runs automatically in the background, without user knowledge or interaction passes these embedded login strings as command-line arguments to the “S3.exe” utility which carries out the file operations.
      I’m looking for a way to keep these login strings that are in the main script protected since they need to be available on the local machine when the process runs.
      I am considering a few different ideas like keeping the login strings in a separate file from the main script, or in the registry somewhere. Maybe use as an encryption password (or salt) something that is unique to the computer hardware so that the encrypted file is tied to the individual machine. Or maybe a way I can rotate encryption information as to make it more difficult. I don’t know. I have been pulling my hair for weeks trying to figure out how to best resolve this issue since IT Security is putting some pressure on me and wants to shut down my project.
      Any thoughts are most appreciated.

  • @jetlaw_1
    @jetlaw_1 5 років тому +1

    Very good video.
    That said, I don't think it is accurate to say that increasing the hash length reduces the chance of a collision to "absolutely zero." Certainly the probability of a collision occurring would be incredibly low, but people still get struck by lightning even though the probability of that occurring is vanishingly small.

    • @SoorajKumarR
      @SoorajKumarR 2 роки тому

      Would it be fair to say that a 100-character hash is way less likely to go through collision when compared to people being struck by lightning, which is a 1 in 60,000 chance scenario? The exponentiality is vastly different, no?

  • @gustavoluque4326
    @gustavoluque4326 2 роки тому

    Excellent, just excellent.

  • @mohamedyoussef8835
    @mohamedyoussef8835 3 роки тому

    Awesome explanation ++++++++++++ Thank you

  • @ricp
    @ricp Рік тому

    Great explanations, thanks a lot!

  • @yassineze6483
    @yassineze6483 2 роки тому

    Thanks lots Pro you make it clear even though im not computer background

  • @montjoile
    @montjoile 3 роки тому

    Excellent explanation. Thank you!

  • @tymo3391
    @tymo3391 4 роки тому

    very good and nicely presented content

  • @mikemccartneyable
    @mikemccartneyable 3 роки тому

    Superb, thank you for sharing

  • @adrianswebvideos
    @adrianswebvideos 3 роки тому

    This was such a great explanation. Thanks!

  • @OliverEckstein
    @OliverEckstein 4 роки тому

    Thank you for the great video! I found it really helpful! I have one question regarding the fraud using hash function collisions. How can an attacker "take" the signature of the original document and transfer it to the document prepared for fraud if we talk about a digital signature using private/public keys?

    • @spearchew
      @spearchew 2 роки тому

      great video, but I am also wondering the same thing.

  • @rajdeepdas4291
    @rajdeepdas4291 3 роки тому

    Thank you Sir for your valuable information.

  • @OnBelayAndOK
    @OnBelayAndOK 2 роки тому

    Aaaaand, now I get it. THANK YOU!

  • @paxle
    @paxle 3 роки тому

    Thank you so much for your explaination.

  • @thaynaemillycavalcantesant3687

    Excellent material. Thank you!

  • @kdchandima
    @kdchandima 3 роки тому

    well explained video, learnt a lot ..

  • @gideonmega4672
    @gideonmega4672 2 роки тому

    Awesome Awesome 🤩 . I’ve learned a lot!🤝

  • @georgebenjamin6632
    @georgebenjamin6632 3 роки тому

    Thank you so much for this video! Enjoyed it

  • @swayamsidhnayak7377
    @swayamsidhnayak7377 8 днів тому

    Beautiful video

  • @jawadhaider5221
    @jawadhaider5221 2 роки тому

    Love this channel

  • @TomThomasVempala
    @TomThomasVempala 3 роки тому

    Nice video, helped me understand a lot

  • @mojtabaghasemi1195
    @mojtabaghasemi1195 3 роки тому

    Thanks , very simple and easy complained 🌹

  • @andrewandrosow4797
    @andrewandrosow4797 3 роки тому

    Hello! Thanks for the great video and explanation!

  • @dinosharabany9120
    @dinosharabany9120 3 роки тому

    Hi, how can 64 units represent all the combination of all the files and or passwords in the world? thank you

  • @yanivshalomhelp3579
    @yanivshalomhelp3579 3 роки тому

    Amazing lacture. Thanks

  • @davidvargas2630
    @davidvargas2630 4 місяці тому

    thank you so much you explained it perfect

  • @ghufranataie1
    @ghufranataie1 4 роки тому

    Thank you so much, sir, it was a great speech and very helpful

  • @RF-ge8tz
    @RF-ge8tz Рік тому

    how is classical symmetric cipher different compared to modern cipher ?

    • @shadsluiter
      @shadsluiter  Рік тому

      Modern ciphers use longer strings of keys. Essentially they use longer passwords which makes them more secure.

  • @alexlove2012
    @alexlove2012 3 роки тому

    Whats the difference between checksum and a hash?Are they just the same thing ?

  • @AHaq-wt4uz
    @AHaq-wt4uz 3 роки тому

    Thank you for making this video. good presentation

    • @shadsluiter
      @shadsluiter  3 роки тому

      My pleasure! Are you studying computer science or something similar?

  • @SebastiaanVaz
    @SebastiaanVaz 2 роки тому

    This was super informativem thank you!

  • @RagazzaInk
    @RagazzaInk 5 місяців тому

    Thanks Professor 🎉

  • @johnsierra8065
    @johnsierra8065 6 місяців тому

    thank you very much for this! very helpful!

  • @onlyforsale6187
    @onlyforsale6187 2 роки тому

    But if the hasing value also changed according to changed document by attacker and give to receiver