Find Jobs
Hire Freelancers

Complete my HMAC decryption in PHP

$10-30 USD

Cancelado
Publicado hace casi 9 años

$10-30 USD

Pagado a la entrega
We are looking for a PHP version of the google HMAC encrypt method described in this link [login to view URL] Our supplier deliverd some keys to test the algorytm. e_key = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa i_key = bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb data = qMgSYozqy_iTLthA_kqjsm_Y7PlGcHiO4UU9aw== I wrote a piece of code, but i can't find the answer why it is not working. Probably the php base64 encoding algorithm in PHP is not supporting RFC 3548. We’re looking for a work-around. Hereby our code //[login to view URL] function hmacEncrypt($price, $iv, $e_key, $i_key) { $pad = substr(hash_hmac('sha1', $iv, $e_key), 0, 8); $enc_price = $pad ^ $price; $signature = substr(hash_hmac('sha1', $price . $iv, $i_key), 0, 4); $final_message = base64_encode($iv . $enc_price . $signature); return $final_message; } function hmacDecrypt($final_message, $e_key, $i_key) { //$enc_price = base64_decode($final_message); $enc_price = base64_decode($final_message, 16); $iv = substr($enc_price, 0, 16); $signature = substr($enc_price, strlen($enc_price) - 4, 4); $p = substr($enc_price, 16, 8); $price_pad = substr(hash_hmac('sha1', $iv, $e_key), 0, 8); $price = $p ^ $price_pad; $conf_sig = substr(hash_hmac('sha1', $price . $iv, $i_key), 0, 4); return $price; if ($conf_sig === $signature) { return floatval($price); } } echo hmacDecrypt('qMgSYozqy_iTLthA_kqjsm_Y7PlGcHiO4UU9aw==', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
ID del proyecto: 7784829

Información sobre el proyecto

1 propuesta
Proyecto remoto
Activo hace 9 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos

Sobre este cliente

Bandera de NETHERLANDS
Almere, Netherlands
0,0
0
Forma de pago verificada
Miembro desde jun 2, 2015

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.