function _openid_dh_long_to_binary
7.x openid.inc | _openid_dh_long_to_binary($long) |
6.x openid.inc | _openid_dh_long_to_binary($long) |
4 calls to _openid_dh_long_to_binary()
- OpenIDTestCase::testConversion in drupal-7.x/
modules/ openid/ openid.test - Test _openid_dh_XXX_to_XXX() functions.
- _openid_dh_long_to_base64 in drupal-7.x/
modules/ openid/ openid.inc - _openid_dh_rand in drupal-7.x/
modules/ openid/ openid.inc - _openid_dh_xorsecret in drupal-7.x/
modules/ openid/ openid.inc
File
- drupal-7.x/
modules/ openid/ openid.inc, line 484 - OpenID utility functions.
Code
function _openid_dh_long_to_binary($long) {
$cmp = _openid_math_cmp($long, 0);
if ($cmp < 0) {
return FALSE;
}
if ($cmp == 0) {
return "\x00";
}
$bytes = array();
while (_openid_math_cmp($long, 0) > 0) {
array_unshift($bytes, _openid_math_mod($long, 256));
$long = _openid_math_div($long, pow(2, 8));
}
if ($bytes && ($bytes[0] > 127)) {
array_unshift($bytes, 0);
}
$string = '';
foreach ($bytes as $byte) {
$string .= pack('C', $byte);
}
return $string;
}