Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Error message when changing password


Reply


3 Posts   757 Views

Avatar
HotHouse

Community Member, 2 Posts

5 December 2012 at 8:56am

Hi.

I attempted to change the password for the default administrator and I received the following error:

[User Error] Uncaught PasswordEncryptor_NotFoundException: No implementation found for "blowfish"
POST /admin/security/EditForm/field/Members/item/1/DetailForm

Line 55 in /home/richmond/public_html/sapphire/security/PasswordEncryptor.php
Source

46       if(isset(self::$encryptors[$code])) unset(self::$encryptors[$code]);
47    }
48    
49    /**
50     * @param String $algorithm
51     * @return PasswordEncryptor|Boolean Returns FALSE if class was not found
52     */
53    static function create_for_algorithm($algorithm) {
54       if(!isset(self::$encryptors[$algorithm])) {
55          throw new PasswordEncryptor_NotFoundException(
56             sprintf('No implementation found for "%s"', $algorithm)
57          );
58       }
59       
60       $classWithArgs = self::$encryptors[$algorithm];
61       $class = (($p = strpos($classWithArgs, '(')) !== false) ? substr($classWithArgs, 0, $p) : $classWithArgs;

Trace

PasswordEncryptor::create_for_algorithm(blowfish)
Line 839 of Security.php
Security::encrypt_password(n#9Ni"bv,10$e6de7a907313a80292f20b,blowfish,Member)
Line 664 of Member.php
Member->onBeforeWrite()
Line 936 of DataObject.php
DataObject->write()
Line 826 of ComplexTableField.php
ComplexTableField_ItemRequest->saveComplexTableField(Array,MemberTableField_Popup,SS_HTTPRequest)
Line 329 of Form.php
Form->httpSubmission(SS_HTTPRequest)
Line 143 of RequestHandler.php
RequestHandler->handleRequest(SS_HTTPRequest)
Line 161 of RequestHandler.php
RequestHandler->handleRequest(SS_HTTPRequest)
Line 161 of RequestHandler.php
RequestHandler->handleRequest(SS_HTTPRequest)
Line 161 of RequestHandler.php
RequestHandler->handleRequest(SS_HTTPRequest)
Line 161 of RequestHandler.php
RequestHandler->handleRequest(SS_HTTPRequest)
Line 147 of Controller.php
Controller->handleRequest(SS_HTTPRequest)
Line 282 of Director.php
Director::handleRequest(SS_HTTPRequest,Session)
Line 125 of Director.php
Director::direct(/admin/security/EditForm/field/Members/item/1/DetailForm)
Line 127 of main.php

Anyone come across this before? Thanks!

Avatar
Double-A-Ron

Community Member, 604 Posts

5 December 2012 at 12:05pm

What version of PHP are you running?

If you are using less than 5.3, it sounds like you don't have mcrypt compiled with PHP.

Avatar
HotHouse

Community Member, 2 Posts

5 December 2012 at 1:26pm

Thanks for taking the time to respond!

We've done a bit more digging around, and it turns out that the developer who built the site (no longer working here) originally installed it in Silverstripe 3.0.1, but then changed their mind and used 2.4.7 - this meant the Blowfish encryption was still in the system, but wasn't compatible with Silverstripe 2.4.7

We were able to delete the Blowfish fields from the database, and the issue was fixed.