diff --git a/modules/authcrypt/lib/Auth/Source/Hash.php b/modules/authcrypt/lib/Auth/Source/Hash.php
index a4e2c24b792d513ddba9281d669553823f51788e..ef7cd02d361d382d559851bc3509b7544a0ad73f 100644
--- a/modules/authcrypt/lib/Auth/Source/Hash.php
+++ b/modules/authcrypt/lib/Auth/Source/Hash.php
@@ -81,7 +81,8 @@ class sspmod_authcrypt_Auth_Source_Hash extends sspmod_core_Auth_UserPassBase {
 		assert('is_string($password)');
 
 		foreach($this->users as $userpass=>$attrs) {
-			if(preg_match("/^$username:(.*)$/", $userpass, $matches)) {
+			$matches = explode(':', $userpass, 2);
+			if ($matches[0] === $username) {
 				if(SimpleSAML_Utils_Crypto::pwValid($matches[1], $password)) {
 					return $this->users[$userpass];
 				} else {