Поделиться через


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 .

Применяется к