Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/user_sql.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Łojewski <marcin.lojewski@mlojewski.me>2018-12-16 19:01:48 +0300
committerMarcin Łojewski <marcin.lojewski@mlojewski.me>2018-12-16 19:51:37 +0300
commit8e80480eaa62d0998236813608523e1ca235ec9c (patch)
tree660c0339d04fd9768c1cf2a7199b56484dc591b9 /lib/Crypto
parent8eb99e66bb046fd6093c6f160efde6dc309a90af (diff)
issue#77 Add support for remine password hashes
Diffstat (limited to 'lib/Crypto')
-rw-r--r--lib/Crypto/Redmine.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/lib/Crypto/Redmine.php b/lib/Crypto/Redmine.php
new file mode 100644
index 0000000..81a80c9
--- /dev/null
+++ b/lib/Crypto/Redmine.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Nextcloud - user_sql
+ *
+ * @copyright 2018 Marcin Łojewski <dev@mlojewski.me>
+ * @author Marcin Łojewski <dev@mlojewski.me>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+namespace OCA\UserSQL\Crypto;
+
+/**
+ * Redmine MD5 hash implementation.
+ *
+ * @author Marcin Łojewski <dev@mlojewski.me>
+ */
+class Redmine extends AbstractAlgorithm
+{
+ /**
+ * @inheritdoc
+ */
+ public function getPasswordHash($password, $salt = null)
+ {
+ if (is_null($salt)) {
+ return false;
+ }
+
+ return sha1($salt . sha1($password));
+ }
+
+ /**
+ * @inheritdoc
+ */
+ protected function getAlgorithmName()
+ {
+ return "Redmine";
+ }
+}