Compartilhar via


ChartSheetProtection.Password Propriedade

Definição

Senha

Representa o seguinte atributo no esquema: senha

[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

Valor da propriedade

Retorna StringValue.

Atributos

Comentários

As informações a seguir do ECMA International Standard ECMA-376 podem ser úteis ao trabalhar com essa classe.

Especifica o hash da senha necessária para editar essa planilha de gráficos. Essa proteção é opcional e pode ser ignorada por aplicativos que optam por não dar suporte a essa funcionalidade. O hash é gerado de um caractere de 8 bits de largura. Caracteres Unicode de 16 bits devem ser convertidos em 8 bits antes que o hash seja calculado, usando a lógica definida no revisionsPassword atributo do workbookProtection elemento.

O valor resultante é hash usando o algoritmo definido abaixo.

Um algoritmo de exemplo para hash da entrada do usuário no valor armazenado é o seguinte:

// 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);  
}  

Os valores possíveis para esse atributo são definidos pelo ST_UnsignedShortHex tipo simples.

Aplica-se a