12345678910111213141516171819202122232425262728293031 |
-
- const fill2Len = (str, len) => {
- if (!str) {
- return '*'.repeat(len)
- }
-
- const orginLen = str.length
- if (len <= orginLen) {
- return str.substr(0, len)
- }
-
- return str.repeat(Math.floor(len / orginLen)) + str.substr(0, len % orginLen)
- }
-
- const mixChars = window.navigator.userAgent // + (new Date).toUTCString().replace(/\d{2}:\d{2}:\d{2}/, '')
-
- const strXOR = (str, mix) => {
- if (!str) return str
-
- const strLen = str.length
- const mixStr = fill2Len(mix, strLen)
-
- const result = []
- for (let i = 0; i < strLen; i ++) {
- result.push(String.fromCharCode(str.charCodeAt(i) ^ mixStr.charCodeAt(i)))
- }
-
- return result.join('')
- }
-
- export default str => strXOR(str, mixChars)
|