kostenloser Webspace werbefrei: lima-city


cakePHP security class eigene HashFunktion erstellen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    lordcodex

    Kostenloser Webspace von lordcodex

    lordcodex hat kostenlosen Webspace.

    Hi alle zusammen =)

    ich setz mich zurzeit mit cakePHP dem PHP MVC Framework auseinander und hab da ein kleines Anliegen.
    Die Hashfunktion des Frameworks ist recht einfach gestrickt, ich würde sie gerne etwas verbessern und eventuell Iterationen und Mehrfachsalting einbauen.

    Nur bin ich mir nicht ganz sicher ob es reicht das an dieser einen Stelle zu machen oder ob ich noch andere sachen umschreiben muss.

    Ich benutz die aktuellste stabile Version (2.2.1)

    /lib/Cake/Utility/Security,php
    /**
     * Create a hash from string using given method.
     * Fallback on next available method.
     *
     * @param string $string String to hash
     * @param string $type Method to use (sha1/sha256/md5)
     * @param boolean $salt If true, automatically appends the application's salt
     *     value to $string (Security.salt)
     * @return string Hash
     */
    	public static function hash($string, $type = null, $salt = false) {
    		if ($salt) {
    			if (is_string($salt)) {
    				$string = $salt . $string;
    			} else {
    				$string = Configure::read('Security.salt') . $string;
    			}
    		}
    
    		if (empty($type)) {
    			$type = self::$hashType;
    		}
    		$type = strtolower($type);
    
    		if ($type == 'sha1' || $type == null) {
    			if (function_exists('sha1')) {
    				$return = sha1($string);
    				return $return;
    			}
    			$type = 'sha256';
    		}
    
    		if ($type == 'sha256' && function_exists('mhash')) {
    			return bin2hex(mhash(MHASH_SHA256, $string));
    		}
    
    		if (function_exists('hash')) {
    			return hash($type, $string);
    		}
    		return md5($string);
    	}
    
    /**
     * Sets the default hash method for the Security object.  This affects all objects using
     * Security::hash().
     *
     * @param string $hash Method to use (sha1/sha256/md5)
     * @return void
     * @see Security::hash()
     */
    	public static function setHash($hash) {
    		self::$hashType = $hash;
    	}



    Kennt sich vielleicht einer mit dem Framework aus?
    Reicht es wenn ich die Hash Funktion anpasse? Oder muss ich irgendwo noch was umschreiben?

    LG DeX
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. t*****b

    Ich finde es immer ungeeignet, ein Framework zu verwenden und dann Code in dessen Core rumschzuschreiben, die besten Frameworks sind diejenigen, bei denen so gut wie alles realisierbar ist, ohne dass dies nötig ist. Und zum Glück ist CakePHP ein gutes Framework ;) Schau mal hier.
  4. Autor dieses Themas

    lordcodex

    Kostenloser Webspace von lordcodex

    lordcodex hat kostenlosen Webspace.

    trueweb schrieb:
    Schau mal hier.


    Das ist doch aber die falsche Version :/
    Als ich davor gegooglet hatte, bin ich da auch als erstes drauf gestoßen...

    LG
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!