Assuming the key is opened
var valueName = "some binary registry value";
var valueKind = registryKey.GetValueKind(valueName);
if (valueKind == RegistryValueKind.Binary)
{
var value = (byte[])registryKey.GetValue(valueName);
var valueAsString = BitConverter.ToString(value);
}
EDIT: some explanations:
GetValue returns object, and BitConverter.ToString gets an array of bytes as an argument. Thus we cast the value returned by GetValue to byte[], to be able to use it within BitConverter.ToString. But first we check if the registry value is actually binary. Then you can cast it to byte[] safely, because the object returned by GetValue for binary values is actually byte array.