# -- # Copyright (C) 2001-2019 OTRS AG, https://otrs.com/ # -- # This software comes with ABSOLUTELY NO WARRANTY. For details, see # the enclosed file COPYING for license information (GPL). If you # did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt. # -- package Kernel::System::Console::Command::Maint::Database::PasswordCrypt; use strict; use warnings; use parent qw(Kernel::System::Console::BaseCommand); our @ObjectDependencies = ( 'Kernel::System::DB', ); sub Configure { my ( $Self, %Param ) = @_; $Self->Description('Make a database password unreadable for inclusion in Kernel/Config.pm.'); $Self->AddArgument( Name => 'password', Description => "The database password to be encrypted.", Required => 1, ValueRegex => qr/.*/smx, ); return; } sub Run { my ( $Self, %Param ) = @_; my $Password = $Self->GetArgument('password'); chomp $Password; my $CryptedString = $Kernel::OM->Get('Kernel::System::DB')->_Encrypt($Password); $Self->Print( "Please note that this just makes the password unreadable but is not a secure form of encryption.\n" ); $Self->Print("Crypted password: {$CryptedString}\n"); return $Self->ExitCodeOk(); } 1;