Another way to think about it... https://play.golang.org/p/XtfFgwYw3f8
On Mon, Jan 21, 2019 at 10:26 AM <silviucap...@gmail.com> wrote: > Like Christian said, your main problem is how Javascript and how Go > iterate. > > In your Javascript example, you use: > > for(var i=0;i<input.length;i++){ > > so you iterate in a +1 increment regardless of any type of characters. > When you range over a Go string, you will see the iterator jumping 1,2 or 3 > positions depending on the type of rune. > > Your modulo calculation index % len(key) will match for ascii (e.g. > English characters), but will different after the first non-ascii characters > > So you should explore something like this: > https://play.golang.org/p/23nMX2dFhJF > > > On Sunday, 20 January 2019 10:14:05 UTC-5, Soorya Prakash wrote: >> >> >> I am using the below code to encrypt and decrypt the data. Now I want to >> encrypt the data from Node JS and want to decrypt the data from Go lang. >> But I am not able to achieve it using GO lang. >> >> var B64XorCipher = { >> encode: function(key, data) { >> return new Buffer(xorStrings(key, data),'utf8').toString('base64'); >> }, >> decode: function(key, data) { >> data = new Buffer(data,'base64').toString('utf8'); >> return xorStrings(key, data); >> }}; >> function xorStrings(key,input){ >> var output=''; >> for(var i=0;i<input.length;i++){ >> var c = input.charCodeAt(i); >> var k = key.charCodeAt(i%key.length); >> output += String.fromCharCode(c ^ k); >> } >> return output;} >> >> From go I am trying to decode like below I am not able to achieve it. >> >> bytes, err := base64.StdEncoding.DecodeString(actualInput) >> encryptedText := string(bytes) >> fmt.Println(EncryptDecrypt(encryptedText, "XXXXXX")) >> >> func EncryptDecrypt(input, key string) (output string) { >> for i := range input { >> output += string(input[i] ^ key[i%len(key)]) >> } >> >> return output} >> >> Can someone help me to resolve it. >> > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- *Michael T. jonesmichael.jo...@gmail.com <michael.jo...@gmail.com>* -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.