ChartSheetProtection.Password Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Пароль
Представляет следующий атрибут в схеме: password
[DocumentFormat.OpenXml.SchemaAttr(0, "password")]
public DocumentFormat.OpenXml.HexBinaryValue Password { get; set; }
public DocumentFormat.OpenXml.HexBinaryValue Password { get; set; }
[DocumentFormat.OpenXml.SchemaAttr(0, "password")]
public DocumentFormat.OpenXml.HexBinaryValue? Password { get; set; }
[DocumentFormat.OpenXml.SchemaAttr("password")]
public DocumentFormat.OpenXml.HexBinaryValue? Password { get; set; }
public DocumentFormat.OpenXml.HexBinaryValue? Password { get; set; }
member this.Password : DocumentFormat.OpenXml.HexBinaryValue with get, set
[<DocumentFormat.OpenXml.SchemaAttr(0, "password")>]
member this.Password : DocumentFormat.OpenXml.HexBinaryValue with get, set
[<DocumentFormat.OpenXml.SchemaAttr("password")>]
member this.Password : DocumentFormat.OpenXml.HexBinaryValue with get, set
Public Property Password As HexBinaryValue
Значение свойства
Возвращает .StringValue
- Атрибуты
Комментарии
Следующие сведения из международного стандарта ECMA ECMA-376 могут быть полезны при работе с этим классом.
Указывает хэш пароля, необходимого для редактирования этого листа диаграммы. Эта защита является необязательной и может игнорироваться приложениями, которые не поддерживают эту функцию. Хэш создается из 8-битового символа. 16-разрядные символы Юникода должны быть преобразованы в 8 бит перед вычислением хэша с использованием логики, определенной в revisionsPassword
атрибуте workbookProtection
элемента .
Полученное значение хэшируется с помощью алгоритма, определенного ниже.
Ниже приведен пример алгоритма хэширования входных данных пользователя в хранимое значение:
// Function Input:
// szPassword: NULL-terminated C-style string
// cchPassword: The number of characters in szPassword (not including the NULL terminator)
WORD GetPasswordHash(const CHAR *szPassword, int cchPassword) {
WORD wPasswordHash;
const CHAR *pch;
wPasswordHash = 0;
if (cchPassword > 0)
{
pch = &szPassword[cchPassword];
while (pch-- != szPassword)
{
wPasswordHash = ((wPasswordHash >> 14) & 0x01) | ((wPasswordHash << 1) & 0x7fff);
wPasswordHash ^= *pch;
}
wPasswordHash ^= (0x8000 | ('N' << 8) | 'K');
}
return(wPasswordHash);
}
Возможные значения для этого атрибута определяются простым типом ST_UnsignedShortHex
.