public function generate() {
        $strong = false;
        $i = 0;

        while (!$strong && $this->maxTries > $i++) {
            $data = openssl_random_pseudo_bytes(32, $strong);
        }

        if (!$strong) {
            throw new RuntimeException('Could not generate private key');
        }

        // base64_encode to get a decent ascii compatible format, and trim ending ='s.
        $key = rtrim(base64_encode($data), '=');

        // We change +/ into -_ to avoid any human confusion with paths
        return strtr($key, '+/', '-_');
    }
public function generate() {
        $strong = false;
        $i = 0;

        while (!$strong && $this->maxTries > $i++) {
            $data = openssl_random_pseudo_bytes(32, $strong);
        }

        if (!$strong) {
            throw new RuntimeException('Could not generate private key');
        }

        // base64_encode to get a decent ascii compatible format, and trim ending ='s.
        $key = rtrim(base64_encode($data), '=');

        // We change +/ into -_ to avoid any human confusion with paths
        return strtr($key, '+/', '-_');
    }
public function generate ( ) { $ strong = false ; $ i = 0 ; while ( ! $ strong && $ this -> maxTries > $ i ++ ) { $ data = openssl_random_pseudo_bytes ( 32 , $ strong ) ; } if ( ! $ strong ) { throw new RuntimeException ( 'Could not generate private key' ) ; } // base64_encode to get a decent ascii compatible format, and trim ending ='s. $ key = rtrim ( base64_encode ( $ data ) , '=' ) ; // We change +/ into -_ to avoid any human confusion with paths return strtr ( $ key , '+/' , '-_' ) ; }
Generate a private key

@return string
Generate a private key