Making A Password Manager Using Python & SQL

Поделиться
HTML-код
  • Опубликовано: 14 ноя 2020
  • Writing My Own Password Manager In Python
    Check out Kite: kite.com/get-kite/?...
    PROJECT GITHUB LINK: github.com/KalleHallden/pwMan...
    Follow me on instagram: / kallehallden
    LiveCoder channel: / @livecoder7639
    "Clean Code Friday"
    If you want to receive one short email from me every week, where I go through a few of the most useful things I have explored and discovered this week. Things like; favourite apps, articles, podcasts, books, coding tips and tricks. Then feel free to join kalletech.com/cleancode/
    CONTACT: contact@kalletech.com
    Follow me on:
    TWITCH: / kallehallden
    INSTAGRAM: / kallehallden
    TWITTER: / kallehallden
    GITHUB: github.com/kallehallden
    VIDEO EDITOR: editingmachine.com (use coupon code KALLE to get 50% off your first month)
    --------------------------------------------------------------------------------------------------------
    GEAR:
    kalletech.com/tech/
  • ИгрыИгры

Комментарии • 417

  • @Brandonator24
    @Brandonator24 3 года назад +501

    "Writing my own password manager using python & SQL"
    *Climbs a tree for first 11 seconds*

  • @taphahadji4235
    @taphahadji4235 3 года назад +218

    2020, the year when programmers started going out and even climbing trees

    • @SUMITMITRA25
      @SUMITMITRA25 3 года назад +3

      true even i started hiking and going out instead of working out in my home, again thats bcz there were no people outside bcz of lockdown

    • @soupnoodles
      @soupnoodles 3 года назад +2

      I like how there are so many stereotypes for programmers like this
      Do you think all employees in FAANG are shut in no lives 😂

    • @Heddanofarsan
      @Heddanofarsan 2 года назад

      I can not code if I not work out A LOT.

  • @asofdevlabs
    @asofdevlabs 3 года назад +46

    "and you gonna get to see how bad my handwriting actually is"
    notepad: hmm okay.
    sticky notes: okay.
    people watching this: okay.

  • @noah77
    @noah77 3 года назад +73

    Kalle right now: climbs a tree for an intro.
    Kalle in 5 years: swims to Mariana trench to say his last words

  • @Zuhaibdamudi
    @Zuhaibdamudi 3 года назад +165

    When you first announced you were gonna make daily videos for the next few days, I was just expecting vlogs and what you do in your day to day life. But we're getting actual high quality videos where we(and you!) learn something new everyday! These videos are both entertaining and educational. Keep doing what you're doing Kalle, and you're gonna get to a million subscribers soon! You definitely deserve it :)

    • @Arunnn241
      @Arunnn241 3 года назад

      He doesn't

    • @bobsmithy3103
      @bobsmithy3103 3 года назад

      I just finished watching the video and I can confidently say I've learnt nothing of value from this video. The only thing I took away is that it took him about 10 hours to build this. Be careful of watching youtube channels that make you think you're learning something but you're actually not, you can use your time in much more effective ways.

    • @Zuhaibdamudi
      @Zuhaibdamudi 3 года назад

      @@bobsmithy3103 i might not have learnt anything myself, that was not what he was trying to do. But it was both interesting and entertaining to see how he approaches the problem, i gotta appreciate him for that

    • @hargunbeersingh8918
      @hargunbeersingh8918 2 года назад

      @@bobsmithy3103 true and well I don't wanna be mean but... ok nvm

  • @aakashjana6225
    @aakashjana6225 3 года назад +11

    Kalle motivates me to work and strive for what I set out for. These videos are more than just inspiration to me , its like fuel to keep me running. I must say Kalle is one of the best tech vloggers with a unique style of content .

  • @romainlm4994
    @romainlm4994 3 года назад +13

    Instead of hashing, you can use encryption algorithms with a secret key
    The algorithms are basically the same as hashing algorithms but they are reversibles with the secret key

  • @TheOnlyEpsilonAlpha
    @TheOnlyEpsilonAlpha 3 года назад +29

    You should include a function to generate safe passwords. It’s one of my most useful functions in current password managers 😇

    • @datboi1861
      @datboi1861 Год назад

      I'm making a password manager and this sounds like a cool idea. Thanks!

    • @Gadekko
      @Gadekko 8 месяцев назад

      @@datboi1861 are you still working on this project? hmu

  • @ChristianHaugland74
    @ChristianHaugland74 3 года назад +96

    if you hash your stored passwords then you can’t restore them to use on other website or program. so i guess it is better to do encryption to the passwords you store and only hash the masterpassword for the password manager

    • @giuliopimenoff
      @giuliopimenoff 3 года назад +1

      I have’s really understood how he gets the password back honestly

    • @iDano98
      @iDano98 3 года назад +2

      I think that he uses the stored hash as a password, you can't save a "custom" password. Like at 12:37 I think that "hellofacebook" is only used to create something that goes into the clipboard and you use as a password. At 13:28 you see that the password is made of random letters, numbers and symbols (the hash of something he wrote in a process like the one at 12:37).

    • @giuliopimenoff
      @giuliopimenoff 3 года назад +3

      @@iDano98 then it's useless

    • @giuliopimenoff
      @giuliopimenoff 3 года назад +1

      To hash the password

    • @iDano98
      @iDano98 3 года назад +2

      @@giuliopimenoff Yes, if it works like I understood I completely agree. He used the hash function only to generate some random sequence of characters.

  • @brickviking667
    @brickviking667 3 года назад +26

    I wrote a bash front end for my mysql backend. Seems to be simple enough.

  • @anonuser2640
    @anonuser2640 3 года назад +26

    I have a challenge for you hack your password manager and then fix it to make strong from other hack.

  • @CybersecurityMeg
    @CybersecurityMeg 3 года назад +3

    Oooh, this was super cool to watch. Nice build! Much impress. Especially love how you notate out your requirements before getting to work. SDLC game strong. :)

  • @tradosh
    @tradosh 3 года назад +4

    For databases I suggest putting it as a docker image especially when you testing. It works on Windows/Linux/Mac without a lot of configuration!

  • @abdullahalshohail2865
    @abdullahalshohail2865 3 года назад +5

    "trying to get a lot things to work here on Windows, until i just decided like fuck it i'm gonna go with Linux" is the highlight of this video

  • @hdraresro4399
    @hdraresro4399 3 года назад +4

    I was just doing a course on cybersecurity that recommended the use of password managers and I was really considering creating one in C++. Thanks for this, it will help a lot :)

    • @Dus3826
      @Dus3826 3 года назад

      And why not use bitwarden for example?

  • @harrisonbirkner5744
    @harrisonbirkner5744 3 года назад +1

    Kalle I love these daily videos! 😍 Personally, I would really enjoy seeing some vlog type videos, you're a very intriguing person 😂

  • @ramonvandenengel
    @ramonvandenengel 3 года назад

    i really like your videos, i really watched every video that came out lately, they just keep getting better, keep it up !!
    I also started coding recently, you have inspired me, thank you

  • @lukaskovar6921
    @lukaskovar6921 3 года назад +19

    You should use bcrypt hashing algorithm for master password and then save password encrypted with the master password.

  • @81NARY
    @81NARY 3 года назад +3

    Tip: Use docker to setup postgres or your whole dev environment next time. It'll be easier to get up and running and if you create a docker file then it'll be even easier to replicate the whole environment for your next projects.

  • @firesnake6311
    @firesnake6311 3 года назад +1

    It just getting more interesting to watch your video

  • @larrynikx
    @larrynikx 3 года назад +14

    Why not use docker for running services like dbs, caches, message brokers etc... there really isnt a point of installing a dev environment that is not replicable on different computers/OSes anymore

  • @hacksfind3529
    @hacksfind3529 3 года назад

    Great video man!! I’ve wanted to build one myself and this gave a me a boost 👍

  • @usmanmir5663
    @usmanmir5663 3 года назад +1

    Kalle is one fire with daily uploads 🔥

  • @TrifiMohamed44
    @TrifiMohamed44 3 года назад +4

    It's amazing dude!!! Keep it up!+

  • @ThomasFaller
    @ThomasFaller 3 года назад

    Aaaah Nice! That’s the type of video that made me subscribe to your channel, not the shallow-vlogger-lets-arrange-my-screen type of videos!! Keep on coding!!!

  • @charliesta.abc123
    @charliesta.abc123 3 года назад +3

    This is awesome. You can use the getpass function to get user password instead of input.

  • @mgaliazzo
    @mgaliazzo 3 года назад +1

    Keep up the quantity of uploads please. I love it :)

  • @SintaxErorr
    @SintaxErorr 3 года назад +1

    im currently designing my own encryption algorithm. i know people say dont do it cause it wont be secure but i wanna learn new things. so i could add that to this kind of idea

  • @baslealsenbeto2522
    @baslealsenbeto2522 3 года назад

    Always motivated to program after watching your videos.
    Keep it man👍

  • @kamertonaudiophileplayer847
    @kamertonaudiophileplayer847 3 года назад

    Thanks for the video, I took your solution, slightly modified and it works great.

  • @LarsKniep
    @LarsKniep 3 года назад +20

    Should have used docker, it's make your life as a dev way easier:
    docker run --name postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres

    • @fallout__boy1130
      @fallout__boy1130 3 года назад

      Yep, docker is a modern and convenient way to manage this kind of services... May be he did not know about that

  • @machinze_edits
    @machinze_edits 3 года назад +1

    A great person, whom I ever met on RUclips

  • @TheCodeholic
    @TheCodeholic 3 года назад +1

    Thanks Kalle for your videos.
    May I ask you from which source do you get background sounds?
    Thank you.

  • @alephanull1953
    @alephanull1953 3 года назад +6

    I was trying to make a password for a few days now!
    Since I'm a newbie to Python, I tried to avoid SQL and thought about storing encrypted passwords in a TEXT file
    I did that , but it didn't so seem good, so I completely started from scratch again and this time I added a Hashing algorithm , SQL Database (also encrypted see:SQLcipher) , Search Engine and maybe even a GUI
    This video helped alot Kalle!

  • @juliankropp
    @juliankropp 3 года назад +40

    Kalle: it's kind of cold inside
    also Kalle: wears t-shirt 😂

    • @bader51500
      @bader51500 3 года назад

      He needs to keep his brain warm to function properly (while coding of course)😂

    • @flausseur
      @flausseur 3 года назад

      @@bader51500 Do you think it's going to overheat?

    • @bader51500
      @bader51500 3 года назад

      @@flausseur I think his brain is water cooled so overheating is not an issue 😂

    • @bader51500
      @bader51500 3 года назад

      @Rahmi Acar
      Good thing I live in Saudi Arabia where the normal temps around 45+ C 😅
      The coldest weather I've ever experienced was in the northern region when it reached around 6 C ( I almost died that day 😂)

  • @cubernetes
    @cubernetes 3 года назад

    I LITERALLY thought yesterday of writing my own Password Manager and couldn't find anything on the Web, and then BOOM this!

  • @mxschmitt_
    @mxschmitt_ 3 года назад +84

    You have to encrypt the passwords in the database 😬

    • @nostalgia5031
      @nostalgia5031 3 года назад +2

      Ima watch it, then edit my comment to respond.

    • @micropanda7916
      @micropanda7916 3 года назад +8

      @@nostalgia5031 i think you forgot to edit

    • @TrevorIsCrazy1
      @TrevorIsCrazy1 3 года назад +10

      @@micropanda7916 No no, he just like to take his time.

    • @micropanda7916
      @micropanda7916 3 года назад +5

      @@TrevorIsCrazy1 makes sense

    • @davidfarah
      @davidfarah 3 года назад +4

      @@Chigi42 damn he's really taking his time

  • @pankster07
    @pankster07 2 года назад

    Hi Kalle, thanks for the video!

  • @robertbornschein5583
    @robertbornschein5583 3 года назад

    Love how it's not just me with the climbing on trees thingie xD

  • @web_masud
    @web_masud 3 года назад

    Your Intro are awesome kalle I love you intro

  • @cobbledev9045
    @cobbledev9045 3 года назад +47

    The hash here is useless, do encryption using the masterpassword instead.

    • @__se7entin__
      @__se7entin__ 3 года назад +1

      Why is it useless?

    • @vaidhyanathansm7625
      @vaidhyanathansm7625 3 года назад +3

      @@__se7entin__ It is not possible to get the original message digest once it is hashed. It is irreversible!

    • @__se7entin__
      @__se7entin__ 3 года назад +1

      @@vaidhyanathansm7625 aha. Yeah that's right

    • @kornbread5359
      @kornbread5359 3 года назад +1

      @@__se7entin__ also, becaue the way passwords are cracked.
      If attacker has the hash and knows which function was used it can be cracked easily, by brute force hashing passwords until the hash is found.

    • @__se7entin__
      @__se7entin__ 3 года назад +2

      @@kornbread5359 i mean, yeah they can brute force to find the raw text but how is encryption safer than hashing here?

  • @TechnoTrace
    @TechnoTrace 3 года назад +4

    Amazing kalle❤️❤️❤️❤️🙏🏻🙏🏻
    M looking forward.
    I'll make a gui version of that and link it here.
    Wouldn't it be great??😀😀✌️

  • @mariah4197
    @mariah4197 3 года назад +1

    You literally look like a Disney prince. Great content BTW

  • @Christine-lo9pe
    @Christine-lo9pe 3 года назад

    You make me start learning Python, I was a big fan of Javascript.

  • @ping3995
    @ping3995 3 года назад

    I think u should start making tutorials for beginners to and teach more people this wizardry 🔥🔥
    Glad to find your channel

  • @NaserAlOqab
    @NaserAlOqab 3 года назад

    So did you end up encrypting the passwords then decrypting them upon retrieving them instead of hashing?

  • @lesamir2010
    @lesamir2010 3 года назад

    Hi Kalle!
    What are the color scheme of your terminal and Vim, and the font-family?
    Can I also know all the resources used to build this app?

  • @hiruthicsha
    @hiruthicsha 3 года назад +1

    Hey kalle, I also made a password manager two months ago and tried with tikinter but it doesnt look good, its better if you can make the script as a server and run it with a GUI made with electron. That will be easier to scale

  • @maximum4615
    @maximum4615 3 года назад

    You talked about leaving a link to the repo in the description but on you github there's nothing but a readme file, are you still going to commit your progress?

  • @abhijeetbyte
    @abhijeetbyte 2 года назад +1

    Can we use pandas (python library ) to do all and store passwords & manage them in a csv file. By doing so, their will be no issues related to database in cross platform. Also it is optimized to deal with large data, it has beautiful data frames to display data on console.

  • @kubos7184
    @kubos7184 3 года назад +1

    I love when he just randomly climbs a tree

  • @kunalberry5776
    @kunalberry5776 3 года назад +1

    Like the intro buddy

  • @ahmedk.n8126
    @ahmedk.n8126 3 года назад

    Your video motivated me to make a one my self, and I DID IT ! this is my first project ever in python completely on my own .
    ps. You could use sqlite it is good with python

  • @nullbytes6282
    @nullbytes6282 3 года назад

    I have a simple password manager just in SQLite. Integrating some python is a good idea, thanks.

  • @michaelhoefler5118
    @michaelhoefler5118 3 года назад +1

    If you hash the passwords and store them you won't be able to restore them later on. Hashes are one way functions. You'll probably want to use the master password to encrypt the passwords (AES or something), so someone can't just dump the plaintext passwords. Also you (might) want to sanitize SQL user input depending on who will be using this. Interesting idea though! P.S. Docker would make your life easier :)

  • @devangsahani2086
    @devangsahani2086 3 года назад +1

    Hey Kalle, recently I started making programs in python and some other languages but I wanted to make my own password manager and test it with Kalis password attacking tools and see if it could crack through my program. I was hoping whether you could make a step by step tutorial on how to make a password manager so I could get some idea of how I could make my own. Thanks

  • @hyperlight3092
    @hyperlight3092 3 года назад +1

    Very Gooood, tnx 😀

  • @VickyMei
    @VickyMei 3 года назад

    Hello! I worked for a password manager company! LOL this is an interesting video

  • @abishekbaiju1705
    @abishekbaiju1705 3 года назад

    You are amazing bud ❤️

  • @stefanovillata9658
    @stefanovillata9658 3 года назад +1

    Will you upload the code on github? Right now the repo is empty

  • @rpggaming6658
    @rpggaming6658 Год назад

    hey Kalle. Please which version python did you use ?

  • @gilcaplan5765
    @gilcaplan5765 3 года назад +2

    How do make the intro look so good- the tree scene and the java/python... green shade thing? And mabye make tutorials on everything you do? Thanks love the vids as well

  • @anmolverma7732
    @anmolverma7732 2 года назад

    i got an error on line 57 ImportError: cannot import name 'get_secret_key' from 'secret' (how to fix this)

  • @ckh8217
    @ckh8217 3 года назад

    Grym kanal Kalle! Mvh en annan Götelaborgare =)

  • @anymeshsingh
    @anymeshsingh 3 года назад

    You should try settings up Postgres through docker. That will be more efficient when you are using you own system.

  • @Atropos148
    @Atropos148 3 года назад

    You forgot the github link in the description....great video btw, kinda wanna make my own manager now :D

  • @WOUUUTT
    @WOUUUTT 3 года назад

    Didn't know Kali's terminal looked this pretty

  • @yamborgmix
    @yamborgmix 3 года назад +1

    kali linux is good for java?

  • @GiorgioCamozzi
    @GiorgioCamozzi 3 года назад +1

    I can reccomend MAMP (there is a free version) to get an SQL database up and running super quick with a couple of clicks... It creates a MySQL and not a Postgres DB but whatever... same thing for this purpose...:)

  • @shuvadipghosh374
    @shuvadipghosh374 3 года назад

    What is the editor are you using

  • @owlvlogs
    @owlvlogs 3 года назад +1

    Does anyone know what music he uses for the intro?

  • @pratikamonkar7246
    @pratikamonkar7246 3 года назад +1

    Hii plz every week make a project video using python. Love from India

  • @TheNeonbuffalo
    @TheNeonbuffalo 3 года назад

    When you retrieve the password, it is hashed. We cant use that on the sites. Hashing is great for saving them but for begin able to get your password back, i think youd need to use cryptography.

  • @AsadKhan-cw6ue
    @AsadKhan-cw6ue 3 года назад

    Which linux distro it is that you are using ?

  • @monkyspnk777
    @monkyspnk777 3 года назад

    I would love to see an elapsed time counter in one corner that would show us 'mere mortals' how long you worked on something.

  • @alexanderklee6357
    @alexanderklee6357 3 года назад +7

    "it is also kinda cold insides"
    *wears a t-shirt*

    • @robertlemonsjr
      @robertlemonsjr 3 года назад

      Funny. Next clip has no hat and a hoodie. Go figure

  • @danielzidek8169
    @danielzidek8169 3 года назад

    Hi i have some troubles with getting this thing to work, can someon tell me how to get it work please?

  • @alexhri
    @alexhri 3 года назад

    You should at the bare minimum encrypt the password. You could use an AES with padding for the login, which unlocks a 2048 bit rsa(good start, anything beyond 2048 is significantly going to affect performance without providing a significant increase in terms of security). Simple implementation and out of the box adds two layers of security: you can't get to the password without a private key and you can't get the private key without the key for the AES cipher. Speaking of the AES, you could pack plenty of additional info and salt and hash the rest of the sensitive data.

  • @dinindutheekshana2254
    @dinindutheekshana2254 2 года назад +2

    Hello kalle,
    I watched your project password manager and it's really amazing.Can you tell more about how to make secret.py.Because lot of beginners are there including me.

  • @Lo323984
    @Lo323984 3 года назад

    Did I miss something or are the passwords stored in plain text?

  • @methgunawardana7361
    @methgunawardana7361 3 года назад

    this is awesome

  • @lyingpancake95
    @lyingpancake95 2 года назад

    You wear a hat indoors to protect our eyes from its magnificent golden glory? How could you!

  • @swagbroncorr2708
    @swagbroncorr2708 3 года назад +84

    That hair is beautiful 😍😍😍

  • @jansonha2688
    @jansonha2688 3 года назад +3

    I get an error:
    from secret import get_secret_key
    ImportError: cannot import name 'get_secret_key' from 'secret'
    Does secret module even exist?

  • @gradientO
    @gradientO 3 года назад +5

    Pls do a SQL tutorial

  • @user-ni4kf5hv7b
    @user-ni4kf5hv7b 3 года назад +1

    Please let me know how to use Flutter in VS code.

  • @SimplyCode
    @SimplyCode 3 года назад +1

    What a intro 👏👏👏👏👏👏

  • @kisakyeemmanuel2576
    @kisakyeemmanuel2576 3 года назад

    When did you last program in Java

  • @GiftWrapGabe
    @GiftWrapGabe 3 года назад

    Anyway you could link your resources used I’m pretty new and just wanting to read everything over?

  • @rootshell101
    @rootshell101 3 года назад

    Don't miss any of Tyrell's videos !

  • @re_allyedge
    @re_allyedge 3 года назад

    What linux are you using?

  • @basicbread_in
    @basicbread_in 3 года назад +1

    You Rock!

  • @awesom3here
    @awesom3here 3 года назад

    How Can we access these from any browser

  • @cybertools8560
    @cybertools8560 3 года назад

    Nice Intro Man

  • @karvinus
    @karvinus 3 года назад

    Kalle, secret.py file is missing in git location ?

  • @fallout__boy1130
    @fallout__boy1130 3 года назад +5

    This is ok for a prototype. But for a real production build I would actually require a master password to decode every pass in the DB. I would also use SQLalchemy, host the db somewhere online (Aws or Azure) and add some tests to avoid regression. This is nice tho.

    • @aakinpatel
      @aakinpatel 3 года назад

      Have you applied this idea yourself? How did it go?

    • @vaishnavejp9247
      @vaishnavejp9247 Год назад

      im getting started with cybersecurity, could you elaborate?

  • @pc2729
    @pc2729 3 года назад +1

    Random question: Is it possible to use the command file (cmd.exe) as an external terminal for vs code? I.e I want to write & run the code in vs code but cmd.exe opens as an external terminal and executes the code.

    • @mwanikimwaniki6801
      @mwanikimwaniki6801 3 года назад

      Well. Yes. Doesn't the VS terminal just emulate it.

    • @saltylelele
      @saltylelele 3 года назад

      Would prob be possible, tho havent tried it, as I see no reason

    • @t_kon
      @t_kon 3 года назад

      Well yeah you can use bash as the terminal. It's configureable

    • @pc2729
      @pc2729 3 года назад

      @@mwanikimwaniki6801 I know that it is possible to use cmd as an integrated terminal, but I meant an external terminal.

    • @pc2729
      @pc2729 3 года назад

      @@t_kon I'll check it out. Thanks.

  • @nisarggogate8952
    @nisarggogate8952 3 года назад

    Hello, you did great man. I was also working on similar thing. I wanted to implement a password sharing feature in which we can just click on share and it will generate a link with hashed password and stuff. And when anyone clicks on the link he will be redirected to the site with password and username auto filled. Can you help me how can I implement this autofill feature

  • @mr.nikulsingh1883
    @mr.nikulsingh1883 3 года назад

    thanku sir i inspired you

  • @freedempire
    @freedempire 2 года назад

    i didn't get the point of this password manager. are those passwords stored directly in the database?