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.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

General Questions /

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

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

Error message when changing password


Go to End


3 Posts   1759 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, 607 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.