Rather than sending and storing plain text in a smart contract, the use case objective is to encrypt first and then subsequently access the data and decrypt at the point of use.
What is the most effective and efficient way of achieving this data security, ideally using web3js?