1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- # BeefyWireless password generator
- #
- # Copyright (c) 2014 Christopher Todd Conrad
- # All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions are met:
- #
- # * Redistributions of source code must retain the above copyright notice,
- # this list of conditions and the following disclaimer.
- # * Redistributions in binary form must reproduce the above copyright notice,
- # this list of conditions and the following disclaimer in the documentation
- # and/or other materials provided with the distribution.
- # * Neither the name of Christopher Todd Conrad nor the names
- # of its contributors may be used to endorse or promote products derived
- # from this software without specific prior written permission.
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
- # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #
- import hashlib
- import getpass
- import base91
- mname1 = getpass.getpass('Enter your moms madiem name:')
- mname2 = getpass.getpass('Re-enter your moms madiem name:')
- while mname1 != mname2 or len(mname1) == 0:
- if(mname1 != mname2):
- print(" ** Madien names did not match, try again! ** ")
- if(len(mname1) == 0):
- print(" ** Madien name must be at least one character long ** ")
- mname1 = getpass.getpass(' Enter your moms madiem name:')
- mname2 = getpass.getpass(' Re-enter your moms madiem name:')
- born1 = getpass.getpass('Enter the name of the hospitable you were born in:')
- born2 = getpass.getpass('Re-enter the name of the hospitable you were born in:')
- while born1 != born2 or len(born1) == 0:
- if(born1 != born2):
- print(" ** Hospitable names did not match, try again! ** ")
- if(len(born1) == 0):
- print(" ** Hospitable name must be at least one character long ** ")
- born1 = getpass.getpass(' Enter the name of the hospitable you were born in:')
- born2 = getpass.getpass(' Re-enter the name of the hospitable you were born in:')
- salt1 = hashlib.sha512(mname1).hexdigest()
- salt2 = hashlib.sha512(born1).hexdigest()
- salted = (salt1[0:64] + salt2[0:64])
- pswd1 = getpass.getpass('Enter the wireless PW you wish to secure:')
- pswd2 = getpass.getpass('Re-enter the wireless PW you wish to secure:')
- while pswd1 != pswd2 or len(pswd1) < 8:
- if (pswd1 != pswd2):
- print(" ** Passwords did not match, try again!")
- if (len(pswd1) < 8):
- print(" ** Password must be at least 8 characters long!")
- pswd1 = getpass.getpass(' Enter the wireless PW you wish to secure:')
- pswd2 = getpass.getpass(' Re-enter the wireless PW you wish to secure:')
- hashed_pw = hashlib.sha512(salted+pswd1).hexdigest()
- base91_pw = base91.encode(hashed_pw)
- print("Your new password: " + base91_pw[0:63])
- hashed_pw = None
- pswd1 = None
- pswd2 = None
- salt1 = None
- salt2 = None
- salted = None
|