2021-04-13 22:14:27 +09:00
|
|
|
import werkzeug.security
|
|
|
|
import base64
|
|
|
|
import website.utils.colour
|
|
|
|
from website.constants import BACKGROUND_COLOUR
|
|
|
|
|
|
|
|
FOREGROUND_COLOURS = (b'\0\0\0', b'\x3f\x3f\x3f', b'\x7f\x7f\x7f', b'\xbf\xbf\xbf', b'\xff\xff\xff')
|
|
|
|
|
|
|
|
def default():
|
|
|
|
return {'string': None, 'background_colour': None, 'foreground_colour': None}
|
|
|
|
|
|
|
|
def gen_tripcode(password):
|
|
|
|
tripcode = default()
|
|
|
|
pwhash = werkzeug.security._hash_internal('pbkdf2:sha256', b'\0', password)[0]
|
|
|
|
tripcode_data = bytes.fromhex(pwhash)[:6]
|
|
|
|
tripcode['string'] = base64.b64encode(tripcode_data).decode()
|
|
|
|
tripcode['background_colour'] = website.utils.colour.gen_colour(tripcode_data, BACKGROUND_COLOUR)
|
|
|
|
tripcode['foreground_colour'] = max(FOREGROUND_COLOURS, key=lambda c: website.utils.colour._distance_sq(c, tripcode['background_colour']))
|
Update website/static/external/grids-responsive-min.css, website/static/external/pure-min.css, website/static/external/video-js.css, website/static/external/video.js, website/static/external/videojs-contrib-hls.js, website/static/platform.css, website/static/platform.js, website/templates/chat-iframe.html, website/templates/comment-iframe.html, website/templates/index.html, website/templates/stream-info-iframe.html, website/utils/captcha.py, website/utils/colour.py, website/utils/stream.py, website/utils/tripcode.py, website/chat.py, website/concatenate.py, website/routes.py, website/viewership.py files
2021-04-14 23:12:40 +09:00
|
|
|
return tripcode
|