diff --git a/htdocs/lib/security.lib.php b/htdocs/lib/security.lib.php
index c403c7958d0..ba44bb4c54f 100644
--- a/htdocs/lib/security.lib.php
+++ b/htdocs/lib/security.lib.php
@@ -558,4 +558,17 @@ function getRandomPassword()
return $generated_password;
}
+/**
+ * Returns a hash of a string
+ * @param chain String to hash
+ * @param type Type of hash (0:md5, 1:sha1, 2:sha1+md5)
+ * @return hash hash of string
+ */
+function dol_hash($chain,$type=0)
+{
+ if ($type == 1) return sha1($chain);
+ else if ($type == 2) return sha1(md5($chain));
+ else return md5($chain);
+}
+
?>
\ No newline at end of file
diff --git a/htdocs/paypal/admin/paypal.php b/htdocs/paypal/admin/paypal.php
index 7fe5b250219..796312809cb 100644
--- a/htdocs/paypal/admin/paypal.php
+++ b/htdocs/paypal/admin/paypal.php
@@ -26,6 +26,7 @@
require("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
+require_once(DOL_DOCUMENT_ROOT."/lib/security.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php");
$servicename='PayPal';
@@ -215,7 +216,7 @@ print '';
print '
';
$token='';
-if (! empty($conf->global->PAYPAL_SECURITY_TOKEN)) $token='&securekey='.md5($conf->global->PAYPAL_SECURITY_TOKEN);
+if (! empty($conf->global->PAYPAL_SECURITY_TOKEN)) $token='&securekey='.dol_hash($conf->global->PAYPAL_SECURITY_TOKEN, 2);
// Url list
print ''.$langs->trans("FollowingUrlAreAvailableToMakePayments").':
';
diff --git a/htdocs/public/paypal/newpayment.php b/htdocs/public/paypal/newpayment.php
index cdd495d18cc..17ef84ec1fb 100755
--- a/htdocs/public/paypal/newpayment.php
+++ b/htdocs/public/paypal/newpayment.php
@@ -33,6 +33,7 @@ require("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/paypal/lib/paypal.lib.php");
require_once(DOL_DOCUMENT_ROOT."/paypal/lib/paypalfunctions.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
+require_once(DOL_DOCUMENT_ROOT."/lib/security.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php");
require_once(DOL_DOCUMENT_ROOT."/product/class/product.class.php");
@@ -303,7 +304,7 @@ $var=false;
$valid=true;
if (! empty($conf->global->PAYPAL_SECURITY_TOKEN) )
{
- $token = md5($conf->global->PAYPAL_SECURITY_TOKEN . $ref);
+ $token = dol_hash($conf->global->PAYPAL_SECURITY_TOKEN . $ref, 2);
if ($SECUREKEY != $token) $valid=false;
}