Позвольте мне прокомментировать Java-часть вашего вопроса (я не знаю C #).
private static final String[] UPDATES = "goKpRF61ApDDJN9m0OOwHtU9G56psEqJjPUdiH3kZto=";
Это выглядит не так. Если у вас есть только одна строка, объявление должно быть:
private static final String UPDATES = "goKpRF61ApDDJN9m0OOwHtU9G56psEqJjPUdiH3kZto=";
И остальной код:
MessageDigest md = MessageDigest.getInstance(ALGORITHM);
md.update(UPDATES.getBytes());
return Base64.getEncoder().encodeToString(md.digest());
Если у вас есть несколько строк для дайджеста:
MessageDigest md = MessageDigest.getInstance(ALGORITHM) ;
String str[] = {"A", "B", "C", "D"} ;
for (String s : str)
md.update(s.getBytes()) ;
return Base64.getEncoder().encodeToString(md.digest());
(Я проигнорировал бит Base64, потому что существует слишком много библиотек Base64, и я предполагаю, что вы используете одну, которая работает нормально)