亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ldap密碼屬性的Golang utf16le編碼

ldap密碼屬性的Golang utf16le編碼

Go
呼啦一陣風 2022-01-10 17:41:17
我正在嘗試在 Go 中使用 ldap 重置 MS Active Directory 密碼屬性。AD 不能很好地配合,ldap.PasswordModifyRequest所以我正在使用ldap.NewModifyRequest. (使用 gopkg.in/ldap.v2)AD 將接受用引號括起來的密碼和 utf16le 編碼,在 Python 中我可以使用unicode_pass = unicode("\"secret\"", "iso-8859-1")password_value = unicode_pass.encode("utf-16-le")mod_attrs = [(ldap.MOD_REPLACE, "unicodePwd", [password_value])]l.modify_s(user_dn, mod_attrs)我怎樣才能在 Go 中做到這一點?使用ldap.NewModifyRequestandReplace我可以更改其他屬性,但我需要傳遞Request []string更新的值,這需要是我的編碼密碼,并且當我玩弄時遇到類型不匹配utf16.Encode...modify := ldap.NewModifyRequest(dn)modify.Replace("unicodePwd", []string{"encodedsecret"})謝謝。
查看完整描述

1 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

您可以使用golang.org/x/text/encoding/unicode包將您的字符串編碼為 UTF16。


使用這個包你可以寫這樣的東西:


utf16 := unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)


encoded, err := utf16.NewEncoder().String("encodedsecret")


modify := ldap.NewModifyRequest(dn)

modify.Replace("unicodePwd", []string{encoded})


// do something with modify


查看完整回答
反對 回復 2022-01-10
  • 1 回答
  • 0 關注
  • 422 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號