def post_secret(secret, availability, views): db = peewee.SqliteDatabase("task_db.db") db.connect() offset = datetime.timedelta(minutes=availability) current_time = datetime.datetime.today() available_till = current_time + offset # added timestamp to hash generation to prevent same hash for same secret text new_secret = bytes((secret + str(current_time)).encode()) new_hash = hashlib.pbkdf2_hmac('sha256', new_secret, b'salt', 100000).hex() new_record = Secret.create(hash=new_hash, secret=secret, created_at=current_time, expires_at=available_till, remaining_views=views) db.close() return new_record
def github_get_secret_token(bot, update, user_data): user = update.message.from_user logger.debug("User %s sending token", user.first_name) secret_obj = Secret.create(owner_id=user_data['id'], site_type=Site.GITHUB, secret_type=SecretType.TOKEN) user_data['last_secret'] = secret_obj.id user_data['get_token_try'] = 0 logger.debug("secret %s with secret type: %d", secret_obj.site_type, secret_obj.secret_type) update.message.reply_text( u'روی لینک زیر کلیک کنید\n' u'بعد از لاگین کردن توی گیت هابتون روی توی صفحه باز شده یه عنوان برای کلیدتون بذارین مثلا :iustgithubbot_token\n' u'از دسترسی های مربوط به repo دسترسی public_repo رو تیک بزنین.\n' u'Generate token رو بزنین و توکن رو برای ما ارسال کنین' u'https://github.com/settings/tokens/new', reply_markup=ReplyKeyboardRemove()) return State.GITHUB_TOKEN