Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

replace base64_cipher.py with an easy to understand version #3244

Closed
wants to merge 8 commits into from
Closed

Conversation

hfz1337
Copy link
Contributor

@hfz1337 hfz1337 commented Oct 12, 2020

Describe your change:

This PR changes the existing base64_cipher.py with an easy to understand script that explains how the Base64 algorithm works under the hood. The solution is not necessarily faster, but I believe it will help people understand how the algorithm works and why it is possible to use Base64 in Steganography to conceal the existence of a piece of data.
Further more, I believe the base64_cipher.py name can be misleading as Base64 is considered an encoding, and not a cipher.

  • Add an algorithm?
  • Improve an existing solution.
  • Fix a bug or typo in an existing algorithm?
  • Documentation change?

Checklist:

  • I have read CONTRIBUTING.md.
  • This pull request is all my own work -- I have not plagiarized.
  • I know that pull requests will not be merged if they fail the automated tests.
  • This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • All new Python files are placed inside an existing directory.
  • All filenames are in all lowercase characters with no spaces or dashes.
  • All functions and variable names follow Python naming conventions.
  • All function parameters and return values are annotated with Python type hints.
  • All functions have doctests that pass the automated testing.
  • All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
  • If this pull request resolves one or more open issues then the commit message contains Fixes: #{$ISSUE_NO}.

@hfz1337 hfz1337 requested a review from cclauss as a code owner October 12, 2020 22:27
@github-actions
Copy link

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale Used to mark an issue or pull request stale. label Nov 12, 2020
@stale
Copy link

stale bot commented Nov 21, 2020

Please reopen this pull request once you commit the changes requested or make improvements on the code. If this is not the case and you need some help, feel free to seek help from our Gitter or ping one of the reviewers. Thank you for your contributions!

@stale stale bot closed this Nov 21, 2020
ciphers/base64.py Outdated Show resolved Hide resolved
ciphers/base64.py Outdated Show resolved Hide resolved
ciphers/base64.py Outdated Show resolved Hide resolved
ciphers/base64.py Outdated Show resolved Hide resolved
@hfz1337
Copy link
Contributor Author

hfz1337 commented Nov 22, 2020

Thanks for your suggestions.
I made the necessary changes, however, I can't seem to reopen this pull request.
Should I make a new one?

@cclauss cclauss reopened this Nov 22, 2020
@stale stale bot removed stale Used to mark an issue or pull request stale. labels Nov 22, 2020
@ghost ghost added require tests Tests [doctest/unittest/pytest] are required require type hints https://docs.python.org/3/library/typing.html awaiting reviews This PR is ready to be reviewed labels Nov 22, 2020
@cclauss
Copy link
Member

cclauss commented Nov 22, 2020

It is now reopened but conflicts need to be resolved.

@dhruvmanila dhruvmanila added the awaiting changes A maintainer has requested changes to this PR label Nov 22, 2020
@ghost ghost removed the awaiting reviews This PR is ready to be reviewed label Nov 22, 2020
@dhruvmanila
Copy link
Member

It seems that the bot scanned the file which was deleted and added the require: labels for that. I will make the changes for that.

@hfz1337
Copy link
Contributor Author

hfz1337 commented Nov 22, 2020

My bad, sorry. Should've used git mv and worked on the old implementation instead of adding a new file and causing all these troubles.

@dhruvmanila
Copy link
Member

You can still do that now :)

@hfz1337
Copy link
Contributor Author

hfz1337 commented Nov 22, 2020

I'll open a new one, I think it will be easier.

@hfz1337 hfz1337 closed this Nov 22, 2020
@dhruvmanila
Copy link
Member

Do not get demotivated by a challenge. Try to overcome the obstacle. Only then you will be able to learn :)

@hfz1337
Copy link
Contributor Author

hfz1337 commented Nov 22, 2020

Thanks a lot for the advice and motivation.
I opened a new PR here.
Also, I noticed something about algortihms-keeper, when I used an uppercase X to mark respected points in the PR description, it instantly closed the PR. Shouldn't it accept both uppercase and lowercase X as both [x] and [X] are valid in markdown?
It was a bit confusing :p

@dhruvmanila
Copy link
Member

Oh, yes completely missed that. Thank you for pointing this out. Also, in the future, if you think the bot is doing something wrong, please open an issue here 😄

P.S. If you want you can open this issue as well :)

@hfz1337
Copy link
Contributor Author

hfz1337 commented Nov 22, 2020

Sounds cool, thanks! :d

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting changes A maintainer has requested changes to this PR require tests Tests [doctest/unittest/pytest] are required require type hints https://docs.python.org/3/library/typing.html
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants