Compartilhar via


ChartSheetProtection.Password Propriedade

Definição

Senha

Representa o seguinte atributo no esquema: palavra-passe

[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

Devolve StringValue.

Atributos

Comentários

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

Especifica o hash da palavra-passe necessária para editar esta folha de gráfico. Esta proteção é opcional e pode ser ignorada por aplicações que optam por não suportar esta funcionalidade. O hash é gerado a partir de um caráter de 8 bits de largura. Os carateres Unicode de 16 bits têm de ser convertidos para 8 bits antes de o hash ser calculado, utilizando a lógica definida no revisionsPassword atributo do workbookProtection elemento.

O valor resultante é hash através do algoritmo definido abaixo.

Um algoritmo de exemplo para hash da entrada do utilizador 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 este atributo são definidos pelo ST_UnsignedShortHex tipo simples.

Aplica-se a