Итак, я ищу простой ответ, как сгенерировать хеш и соль для опции защиты слов с помощью библиотеки docx4j?
Я получил этот метод:
public static void setUpReadOnlyDocumentWithPassword(DocumentSettingsPart documentSettingsPart, String password) {
final CTSettings settings = Context.getWmlObjectFactory().createCTSettings();
final CTDocProtect protection = Context.getWmlObjectFactory().createCTDocProtect();
protection.setEdit(STDocProtect.READ_ONLY);
protection.setFormatting(true);
protection.setEnforcement(true);
protection.setCryptProviderType(STCryptProv.RSA_FULL);
protection.setCryptAlgorithmClass(STAlgClass.HASH);
protection.setCryptAlgorithmType(STAlgType.TYPE_ANY);
protection.setCryptAlgorithmSid(new BigInteger("4"));
protection.setCryptSpinCount(new BigInteger("100000"));
protection.setHash(?????);
protection.setSalt(?????);
settings.setDocumentProtection(protection);
documentSettingsPart.setJaxbElement(settings);
}
Я действительно пробую все, даже перевожу код C# из http://social.msdn.microsoft.com/Forums/vstudio/en-US/63588f50-354f-43ba-b080-e0e6c51a0fb5/hash-and-saltdocumentprotection . Я хочу полностью автоматизировать установку пароля для файлов docx.