-1
私は線形フィードバックシフトレジスタで作業しています。次のロジックを安全に書かなければなりません。客観的なCと比較してより安全なので、私は迅速に選択しました CのロジックとしてCファイル自体を使用していますか?私は、次の迅速Swiftこのコードの3.1等価ロジック
char * lfsr16_obfuscate(char *s, unsigned int length, unsigned int seed)
{
unsigned int i, lsb;
unsigned int lfsr = seed;
for (i = 0; i < length*8; i++)
{
lsb = lfsr & 1u;
lfsr >>= 1u;
if (lsb == 1u)
{
lfsr ^= 0xB400u;
s[i/8] ^= 1 << (i % 8);
}
}
return s;
}
に次のコードを記述しようとしていますされていない場合、私が試した迅速equelentである、しかし、それは次のスクリーンショットのようにクラッシュされ、上記のCコードを書くために私を助けてくださいSWIFT 3.1