Usando la función hash_hmac de PHP, tenemos:
<?php $string = hash_hmac('sha256', 'message', 'secret', true); echo $string;
En este caso el ultimo valor true, establece que los datos de salida serán binarios y sin formato, teniendo la salida:
�t|P*�����!�Ɓ6����z�p�����U�
Ahora el equivalente en RoR seria:
require 'digest' string = OpenSSL::HMAC.digest('sha256', 'secret', 'message') puts string