LINUX.ORG.RU

minetest

В /Job, квадратноголовый.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)

Процесс портирования прост, напиши на жабоподобном псевдокоде что видишь, в любом языке много синтаксического мусора, если его выкинуть то можно увидеть бизнес логику. При портировании, в идеале нужно скомпилять, скормить входными значениями, сохранить выходные, на основе всего этого создать юнит тесты, часто так удобно сделать в самом начале.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
String get_encoded_srp_verifier(const String name, const String password)
{
	String verifier;
	String salt;
	generate_srp_verifier_and_salt(name, password, verifier, salt);
	return encode_srp_verifier(verifier, salt);
}

Не?

MikeWortin ★★
()

т.к я ленивый, яб использовал jni. эта функция тащит за собой другую, а та следующую и тд. либо вкурить алгоритм и заново реализовать.

vvviperrr ★★★★★
()
Ответ на: комментарий от MikeWortin

вот откуда тут берётся соль?

InterVi ★★★★
() автор топика
Ответ на: комментарий от iamweasel

Там ещё си дёргается.

/// Creates a verification key and salt with given password.
void generate_srp_verifier_and_salt(const std::string &name,
	const std::string &password, std::string *verifier,
	std::string *salt)
{
	char *bytes_v = nullptr;
	size_t verifier_len;
	char *salt_ptr = nullptr;
	size_t salt_len;
	gen_srp_v(name, password, &salt_ptr, &salt_len, &bytes_v, &verifier_len);
	*verifier = std::string(bytes_v, verifier_len);
	*salt = std::string(salt_ptr, salt_len);
	free(bytes_v);
	free(salt_ptr);
}
SRP_Result srp_create_salted_verification_key(SRP_HashAlgorithm alg,
	SRP_NGType ng_type, const char *username_for_verifier,
	const unsigned char *password, size_t len_password,
	unsigned char **bytes_s,  size_t *len_s,
	unsigned char **bytes_v, size_t *len_v,
const char *n_hex, const char *g_hex);
Не пойму как берётся соль, остальное вроде не так сложно.

InterVi ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.