44 lines
1.0 KiB
C#
44 lines
1.0 KiB
C#
namespace Common.Hardware.WaterMeter.eRegister.Features
|
|
{
|
|
using System;
|
|
|
|
using Common.Hardware.Ports;
|
|
|
|
public class ChangeSensusRFEncryptionKey : Pam
|
|
{
|
|
public ChangeSensusRFEncryptionKey() : base(17, ChangeSensusRFEncryptionKey)
|
|
{
|
|
}
|
|
|
|
public ChangeSensusRFEncryptionKey(byte[] encryptionKey) : this()
|
|
=> encryptionKey.CopyTo(this.bytes, 1);
|
|
|
|
public byte[] Key
|
|
{
|
|
get
|
|
{
|
|
var key = new byte[16];
|
|
|
|
Array.Copy(this.bytes, 1, key, 0, 16);
|
|
|
|
return key;
|
|
}
|
|
set
|
|
{
|
|
if (value?.Length == 16)
|
|
{
|
|
value.CopyTo(this.bytes, 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
public string HexKey
|
|
{
|
|
get => BitConverter
|
|
.ToString(this.Key)
|
|
.Replace("-", string.Empty);
|
|
set => this.Key = value.GetEncryptionKey();
|
|
}
|
|
}
|
|
}
|