Я должен защитить свой файл ключей строгого имени для проекта с открытым исходным кодом?

Проблема в вашей функции суммирования:

int cvtdigit(int d, char c)
{
    int sum;
    sum=sum+d;
    return (sum);        
}

Оригинал sum из main хранится в d. В итоге вы создаете новую переменную с именем num, которая не инициализируется, добавляя значение d (т.е. sum в main) к неинициализированному sum и возвращая это значение. Вот почему вы получаете странные цифры.

Измените функцию для удаления sum и добавьте значение d (которое вы должны переименовать в sum) и c, сначала вычтя '0', т.е. код символа для символа 0 из [1115 ] так что вы получите значение от 0 до 9.

int cvtdigit(int sum, char c)
{
    sum=sum+(c-'0');
    return sum;
}
14
задан Daniel Schaffer 8 May 2009 в 13:02
поделиться

2 ответа

Bless - высококачественный, полнофункциональный шестнадцатеричный редактор.

Он написан на mono / Gtk #, и его основной платформой является GNU / Linux. Однако он должен быть в состоянии без проблем работать на всех платформах, которые моно и Gtk # работают. Основные характеристики как распространенное заблуждение) - в вашем случае использование сильного ключа для уникальной идентификации (и проверки) конкретной версии конкретной сборки, которая требуется GAC. Другое использование, которое предотвращает спуфинг другими сборками, в этом случае не кажется необходимым (поправьте меня, если я ошибаюсь). По этой причине я считаю, что вполне приемлемо оставлять ключ открытым (не защищенным паролем) и включать файл в систему контроля версий. Насколько я вижу, вы не остановите все, что не хотите, паролем, защищающим ключ. (Однако, если бы вы могли предоставить более подробную информацию о контексте безопасности, мне, возможно, придется пересмотреть это представление.)

Также см. в этой статье MSDN для подробного подробного обсуждения правильного использования строгого имени. подписание вообще.

Другое использование, которое предотвращает спуфинг другими сборками, в этом случае не кажется необходимым (поправьте меня, если я ошибаюсь). По этой причине я считаю, что вполне приемлемо оставлять ключ открытым (не защищенным паролем) и включать файл в систему контроля версий. Насколько я вижу, вы не остановите все, что не хотите, паролем, защищающим ключ. (Однако, если бы вы могли предоставить более подробную информацию о контексте безопасности, мне, возможно, придется пересмотреть это представление.)

Также см. в этой статье MSDN для подробного подробного обсуждения правильного использования строгого имени. подписание вообще.

Другое использование, которое предотвращает спуфинг другими сборками, в этом случае не кажется необходимым (поправьте меня, если я ошибаюсь). По этой причине я считаю, что вполне приемлемо оставлять ключ открытым (не защищенным паролем) и включать файл в систему контроля версий. Насколько я вижу, вы не остановите все, что не хотите, паролем, защищающим ключ. (Однако, если бы вы могли предоставить более подробную информацию о контексте безопасности, мне, возможно, придется пересмотреть это представление.)

Также см. в этой статье MSDN для подробного подробного обсуждения правильного использования строгого имени. подписание вообще.

Вполне допустимо оставлять ключ открытым (не защищенным паролем) и включать файл в систему контроля версий. Насколько я вижу, вы не остановите все, что не хотите, паролем, защищающим ключ. (Однако, если бы вы могли предоставить более подробную информацию о контексте безопасности, мне, возможно, придется пересмотреть это представление.)

Также см. в этой статье MSDN для подробного подробного обсуждения правильного использования строгого имени. подписание вообще.

Вполне допустимо оставлять ключ открытым (не защищенным паролем) и включать файл в систему контроля версий. Насколько я вижу, вы не остановите все, что не хотите, паролем, защищающим ключ. (Однако, если бы вы могли предоставить более подробную информацию о контексте безопасности, мне, возможно, придется пересмотреть это представление.)

Также см. в этой статье MSDN для подробного подробного обсуждения правильного использования строгого имени. подписание вообще.

10
ответ дан 1 December 2019 в 14:44
поделиться

Я бы сказал, включите ключ «разработки» в управление исходным кодом, чтобы упростить построение и не заставлять людей возиться с созданием и использованием своего собственного ключа. Ключ в управлении исходным кодом не имеет смысла с точки зрения безопасности, поскольку любой может подписать его. Если люди хотят подписать свою сборку вашего проекта с открытым исходным кодом, они могут заменить свой ключ, которым они могут управлять, любым удобным для них способом.

Вы также можете предоставить сборку для загрузки, подписанную защищенным ключом (что вы не делаете. дать кому-либо), но чтобы люди захотели использовать эти двоичные файлы, им нужно было бы вам доверять. Вы заслуживаете доверия? :)

2
ответ дан 1 December 2019 в 14:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: