Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:00,480 --> 00:00:05,460
Hey guys, welcome to 100 Days of Code. And today we are on day 29,
2
00:00:05,760 --> 00:00:08,760
where we're going to be building a password manager.
3
00:00:09,270 --> 00:00:11,610
So we're going to be doing this using tkinter.
4
00:00:11,880 --> 00:00:16,620
And the real inspiration for this project came about because I was trying to
5
00:00:16,650 --> 00:00:16,880
register
6
00:00:16,880 --> 00:00:21,880
for a website where it asked for a password that was just insanely
7
00:00:22,460 --> 00:00:27,020
complicated, something along these lines, or it has to be really long.
8
00:00:27,020 --> 00:00:29,510
It has to include lots of different things,
9
00:00:29,840 --> 00:00:34,130
it can't match your previous passwords. It just has a whole bunch of rules
10
00:00:34,610 --> 00:00:39,610
and I really struggled coming up with a password that actually match all of their
11
00:00:39,680 --> 00:00:42,110
requirements. And by the time that I came up with it,
12
00:00:42,410 --> 00:00:44,420
I've already forgotten what the password was.
13
00:00:45,080 --> 00:00:49,070
One of my favorite blogs is Coding Horror by a guy called Jeff Atwood.
14
00:00:49,250 --> 00:00:52,100
And you might not know him by name,
15
00:00:52,130 --> 00:00:55,520
but you will actually have used something that he's made.
16
00:00:55,730 --> 00:00:58,130
He is one of the founders and original creators
17
00:00:58,130 --> 00:01:00,350
Stack Overflow
18
00:01:00,380 --> 00:01:03,230
which I'm sure by now you're well familiar with.
19
00:01:03,650 --> 00:01:08,650
And even he was talking about how password rules are just really terrible.
20
00:01:09,290 --> 00:01:13,730
They're so long and they're so complicated and they've even inspired
21
00:01:13,760 --> 00:01:16,400
a really good XKCD comic,
22
00:01:16,820 --> 00:01:20,270
which essentially tells the truth that through 20 years of effort,
23
00:01:20,270 --> 00:01:23,570
we've successfully trained everyone to use passwords that are hard for humans to
24
00:01:23,570 --> 00:01:27,380
remember but easy for computers to guess. This is the crazy state of things.
25
00:01:28,340 --> 00:01:31,640
So we're going to be creating a program to combat that.
26
00:01:31,880 --> 00:01:35,690
And it's going to be called MyPass, our password manager,
27
00:01:36,230 --> 00:01:40,220
and we're going to use it to store and generate passwords.
28
00:01:40,700 --> 00:01:43,820
For example, if I wanted to create an account on App Brewery,
29
00:01:44,300 --> 00:01:48,770
then I enter the name of the website so that I know what this password is for,
30
00:01:49,130 --> 00:01:53,990
I put in my email, and username is already prepopulated in my password
31
00:01:53,990 --> 00:01:58,670
manager. And then all I have to do is to either come up with a password
32
00:01:58,700 --> 00:02:03,500
that is hopefully not terrible, but I can obviously never remember,
33
00:02:03,830 --> 00:02:08,830
or I can use the builtin generate password to just generate me a very complex,
34
00:02:09,530 --> 00:02:14,530
very long password with all of the required numbers and symbols and all of that.
35
00:02:15,200 --> 00:02:18,170
And once I'm done with that, then I can click add,
36
00:02:18,620 --> 00:02:21,830
and I get a popup asking me if this is okay.
37
00:02:22,490 --> 00:02:24,980
And if that all looks good, then I click Yes
38
00:02:25,190 --> 00:02:28,610
and that data gets added to a text file,
39
00:02:28,640 --> 00:02:30,530
which I have on my computer.
40
00:02:30,980 --> 00:02:35,750
So this is not an internet-based service and you keep everything locally on your
41
00:02:35,750 --> 00:02:36,583
computer,
42
00:02:36,770 --> 00:02:41,180
which some people feel is a lot safer than using a third-party service
43
00:02:41,180 --> 00:02:43,400
like LastPass or whatever else.
44
00:02:44,420 --> 00:02:48,350
So this is what we're trying to build and it's got some really neat features.
45
00:02:48,680 --> 00:02:52,280
For example, it's got some basic validations. So if you, for example,
46
00:02:52,280 --> 00:02:56,690
leave one of the fields empty and you click add, you get a popup that tells you,
47
00:02:56,720 --> 00:03:01,030
please don't leave any of the fields empty. Or if you generate a password,
48
00:03:01,210 --> 00:03:06,210
then you can actually immediately use it by pasting it. What's happening behind
49
00:03:06,250 --> 00:03:09,130
the scenes is as soon as I click on generate password,
50
00:03:09,460 --> 00:03:14,440
then my password is saved onto my clipboard and I can paste it into the password
51
00:03:14,440 --> 00:03:16,810
field on the website I'm trying to sign up for.
52
00:03:18,340 --> 00:03:20,320
This is what we're going to be building today.
53
00:03:20,410 --> 00:03:23,410
And it's going to use everything you've learned about tkinter
54
00:03:23,830 --> 00:03:26,680
and we're going to be learning some new things that you can do with
55
00:03:26,680 --> 00:03:28,930
tkinter as well. Once you're ready,
56
00:03:29,020 --> 00:03:31,600
head over to the next lesson and let's get started.
5182
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.