3

我正在使用 OpenXML SDK v2 以编程方式创建 DOCX 文件。文档的要求之一是它受到保护以避免编辑。

这是使用 DocumentProtection 对象完成的,例如:

new DocumentProtection
{
    Edit = DocumentProtectionValues.ReadOnly,
    Enforcement = BooleanValues.One,
    CryptographicProviderType = CryptProviderValues.RsaFull,
    CryptographicAlgorithmClass = CryptAlgorithmClassValues.Hash,
    CryptographicAlgorithmType = CryptAlgorithmValues.TypeAny,
    CryptographicAlgorithmSid = 4,
    CryptographicSpinCount = 50000,
    Hash = hash,
    Salt = salt
}

这在 Word 2007 中打开文档时效果很好,但在带有兼容包的 Word 2003 中打开时,无需输入密码即可删除保护。

在线阅读这似乎是“设计使然”或至少是预期的。

在 Word 2003 中查看时,是否有人对保持密码保护完好无损有任何聪明的想法?

4

0 回答 0